次の行を含むファイルがあります。
-rw-rw-rw 1 root root 6379 May 24 2016 test1.CSV
-rw-rw-rw 1 root root 23249 May 25 2016 test2.CSV
-rw-rw-rw 1 root root 2995 May 26 2016 test3.CSV
CSVファイル名のみを保持してください。正規表現を使用する必要がありますが、どちらが正しいかわかりません。
予想される結果は、「test1.CSV \n test2.CSV \n test3.CSV」です。
ベストアンサー1
あなたはそれを使用することができますgrep
grep -io '[^ ]*\.csv' filename
-i、--ignore-case大文字と小文字の違いを無視して、大文字と小文字のみが異なる文字のみを一致させます。
-o、--only-matching一致する行のうち、一致する(空でない)部分のみを印刷します。各部分は別々の出力行に表示されます。
[^ ]*\.csv
.csv の末尾のスペースを除くすべての文字と一致します。
ファイル名にスペースがないとします。
またはあなたは使用することができますawk
awk '{print $(NF)}' filename | grep -i '\.csv'
変数は$(NF)
各行の最後のフィールドです。