(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】Cygwinでls -lのファイル名のみを取得する

スポンサーリンク

ワンライナー

$ ls -l | grep -v "合計" |awk '{print $NF}' |
環境情報

Cygwin上で利用しました。

$ ls --version
ls (GNU coreutils) 8.26
パッケージ作成者: Cygwin (8.26-2)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
作者 Richard M. Stallman および David MacKenzie。

以下、補足です。

補足

Cygwinのlsでは以下のように表示されるので

$ ls -l
合計 0
-rw-r--r--+ 1 ... a.txt
-rw-r--r--+ 1 ... b.xml
-rw-r--r--+ 1 ... c.html

シンプルに先頭行を消して最終列である$NFで絞っています。

$ ls -l | grep -v "合計" | awk '{print $NF}'
a.txt
b.xml
c.html

数字を直打ちしても同様の結果となります。

$ ls -l | awk '{print $9}'

ちなみに以下のようにすれば出力結果がcsv形式になります。

$ ls -l | grep -v "合計" |awk 'BEGIN{ORS=","}{print $NF}'
a.txt,b.xml,c.html,

これくらいは空で打てるようになりたいものですが、後続の方のためにメモっておきます。