結果を複数行に印刷

結果を複数行に印刷

以下のログファイルを見つけようとします。/usr/

$ echo /usr/**/log
/usr/bin/log /usr/lib/log /usr/local/Cellar/ruby/2.5.1/lib/ruby/gems/2.5.0/doc/rubygems-2.7.6/ri/Gem/Resolver/Molinillo/DependencyGraph/log /usr/local/Cellar/ruby/2.5.1/share/ri/2.5.0/system/Gem/Resolver/Molinillo/DependencyGraph/log 

読みにくい一行で印刷されています。

$ for i in /usr/**/log; do echo $i; done
/usr/bin/log
/usr/lib/log
/usr/local/Cellar/ruby/2.5.1/lib/ruby/gems/2.5.0/doc/rubygems-2.7.6/ri/Gem/Resolver/Molinillo/DependencyGraph/log
/usr/local/Cellar/ruby/2.5.1/share/ri/2.5.0/system/Gem/Resolver/Molinillo/DependencyGraph/log
/usr/local/Cellar/ruby/2.5.1/share/ri/2.5.0/system/WEBrick/log
/usr/local/lib/python3.6/site-packages/zmq/log
/usr/local/lib/ruby/gems/2.5.0/doc/rubygems-2.7.6/ri/Gem/Resolver/Molinillo/DependencyGraph/log
/usr/local/var/log
/usr/share/zsh/5.3/help/log

構造化コードを置き換えるための1行のソリューションはありますか?

ベストアンサー1

printf改行文字を含む文字列を印刷するには、包含書式指定子を使用してください。また、そうしないと妥当な理由がない限り、シェルスクリプトで変数を参照することは常に安全です。

nullglobまた、拡張されていないグローバル一致を無視するオプションをオンにします。

shopt -s nullglob
printf '%s\n' /usr/**/log

おすすめ記事