lsの結果を1行1ファイルに出力したい
Linuxを使う人であれば、誰もが一度はたたくであろうlsコマンド。
あるディレクトリのファイルリストを作りたいときに、lsコマンドなんかつかっちゃうわけですが、標準だと横に縦に出力されてしまう。
> ls aaa.c ccc.c bbb.c ddd.c
みたいな感じ。これをコピペすると当然このままのテキストの並びになって、手で並べ替える必要がある。どうにかならないものかと思っていたのだが、同僚に相談したところ
> for i in `ls` do echo $i done
とすれば、一列に表示されるとのこと。なんと、素晴らしい。というか、すぐにそのシェルを思いついたのがすごい。しかし、メモリ量の少ない自分には覚えれない。
と思っていたら、manpageみたら、一番始めに、-1オプションもしくは--format=single-columnオプションを付ければ以下のように1列ででるって書いてあった^^;
> ls --format=single-column aaa.c bbb.c ccc.c ddd.c