Linux
如何在文件列表之後通過管道傳輸 ls -ltr 以擷取日期和時間
我們有列印所有壞 wsp 文件的腳本
./print_bad_wsp_files.sh ./aaaa/rrr/aaaa/fff/ooo/min.wsp ./aaaa/rrr/aaaa/fff/ooo/p50.wsp ./aaaa/rrr/aaaa/fff/ooo/min.wsp ./aaaa/rrr/aaaa/fff/ooo/p50.wsp # ls -ltr drwxr-xr-x 5 root root 36 Aug 14 14:58 aaaa
是否可以通過管道傳輸腳本,以便獲得 ls -ltr 結果?每個文件的?
我一直這樣做到現在
./print_bad_wsp_files.sh | ls -ltr
但它只給
drwxr-xr-x 5 root root 36 Aug 14 14:58 aaaa
而預期的結果應該是
-rw-r--r-- 1 graphite mo 17308 Oct 11 2017 ./aaaa/rrr/aaaa/fff/ooo/min.wsp -rw-r--r-- 1 graphite mo 13508 Oct 11 2017 ./aaaa/rrr/aaaa/fff/ooo/p50.wsp -rw-r--r-- 1 graphite mo 27208 Oct 11 2017 ./aaaa/rrr/aaaa/fff/ooo/min.wsp -rw-r--r-- 1 graphite mo 19208 Oct 11 2017 ./aaaa/rrr/aaaa/fff/ooo/p50.wsp
您可能需要的是
xargs
:./print_bad_wsp_files.sh | xargs ls -ltr
xargs 將讀取腳本的輸出並
ls -ltr
在所有這些輸出上執行(可能成束分組,每次呼叫都適合ls
)。請注意,如果有多個呼叫
ls
,每個呼叫ls
都會分別對自己的文件列表(按反向時間)進行排序。