我有一个看起来像这样的文件:
我想要打印出仅有的 .txt 文件名,最好只用一个命令。
我可以这样做:
这句话的意思是:“只显示以‘-’开头的行。”
然后:
它产生了所期望的输出:
所以问题是,这两个命令可以合并成一个吗?
This is a RESTRICTED site.
All connections are monitored and recorded.
Disconnect IMMEDIATELY if you are not an authorized user!
sftp> cd outbox
sftp> ls -ltr
-rw------- 1 0 0 1911 Jun 12 20:40 61N0584832_EDIP000749728818_MFC_20190612203409.txt
-rw------- 1 0 0 1878 Jun 13 06:01 613577165_EDIP000750181517_MFC_20190613055207.txt
我想要打印出仅有的 .txt 文件名,最好只用一个命令。
我可以这样做:
grep -e '^-' outfile.log > outfile.log2
这句话的意思是:“只显示以‘-’开头的行。”
-rw------- 1 0 0 1911 Jun 12 20:40 61N0584832_EDIP000749728818_MFC_20190612203409.txt
-rw------- 1 0 0 1878 Jun 13 06:01 613577165_EDIP000750181517_MFC_20190613055207.txt
然后:
awk '{print $9}' outfile.log2 > outfile.log3
它产生了所期望的输出:
61N0584832_EDIP000749728818_MFC_20190612203409.txt
613577165_EDIP000750181517_MFC_20190613055207.txt
所以问题是,这两个命令可以合并成一个吗?
dos2unix < outfile.log | grep -Po '[^ ]*txt$'
- Cyrus61N0584832 MFC_20190612203409.txt
? - Ed Morton