簡體   English   中英

簡單的bash問題:將2個bash命令的結果合並到一個文本文件中

[英]Simple bash Question: combine results of 2 bash commands to one text file

我希望將“ pwd”和“ ls”的結果放入文本文件中。 我有一個包含.jpg文件的目錄,而不是“ ls> filename.txt”,我希望filename.txt中包含文件的路徑,這樣結果將是文本文件中的行列表,格式為“ /home/path-to-files/file.jpg”。

我知道它應該是“ ls”命令和“ pwd”命令的組合,中間是“ /”。

這應該很容易做到,但是在執行時遇到麻煩。

如果您傳遞完整路徑, ls將打印完整路徑。 *.jpg擴展為裸文件名; "$PWD"/*.jpg擴展為那些相同的文件名,並以當前目錄為前綴。 然后, ls忠實地返回您給它的相同路徑。

ls "$PWD"/*.jpg > filename.txt

另外,如果要遞歸搜索子目錄,可以對find使用相同的技巧:

find "$PWD" -name '*.jpg' > filename.txt

您可以使用readlinkfind

readlink -f *.jpg > filename.txt

要么

find $(pwd) -name "*.jpg" -type f  > filename.txt

您可以使用find命令告訴find搜索$(pwd)$PWD來獲取文件的路徑,因為這兩個將產生當前工作目錄的完整路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM