シェルワンライナー160本ノック問題21
問題21 条件がややこしいファイルの一覧の生成
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
ややこしい問題だった。
dir_a直下のファイル
dir_b直下のファイル
dir_c内のファイルすべて
を出力する問題だった。てっきり Bash の機能だけを使って解くものだと思い込んでしまったせいで全くできなかった。
正解は
shopt -s globstar
を実行した後
echo dir_a/* dir_b/* dir_c/** | grep -o "[^ ]*[0-9]"
とすればいい。grep で [^ ]* としているところを .* としてしまうと、echo の出力全体が一行と認識されてしまい、改行されて出力されない。
find -type f を用いても同じことができる。