我該如何循環這一行來將所有jpg文件打印到文本文件?在bash中循環一行命令
stat --printf="%s" *.jpg >> results.txt
你會如何還能夠打印RESULTS.TXT根據文件的大小?代碼將如何顯示?文件的確切大小是40318
我該如何循環這一行來將所有jpg文件打印到文本文件?在bash中循環一行命令
stat --printf="%s" *.jpg >> results.txt
你會如何還能夠打印RESULTS.TXT根據文件的大小?代碼將如何顯示?文件的確切大小是40318
您已經在打印所有* .jpg文件的結果。唯一的問題是,通過使用--printf="%s"
,您將更改stat
的輸出格式以僅打印大小(每個項目之間沒有換行符或空格)。
嘗試,而不是:
stat --printf="%s\n" *.jpg >> results.txt
# OR
stat -c "%s" *.jpg >> results.txt
要打印旁邊的大小的文件名,請嘗試:
stat --printf="%n %s\n" *.jpg >> results.txt
# OR
stat -c "%n %s" *.jpg >> results.txt
所以,如果我只想打印一個基於大小的文件名這將是正確的? $ filesize = 123456 stat --printf =「%s $ filesize \ n」* .jpg >> results.txt –
編號「--printf」僅控制您如何打印輸出。你不能用它來過濾輸出。您將需要使用不同的命令,或者使用循環和'if'語句來過濾'stat'的輸出。 –
你可以根據文件的大小聲明一個變量嗎?如果你知道它的大小可以寫在if語句之前? –
這是我的理解是要打印所有.JPG的大小和文件名文件轉換爲文本文件。爲此,您可以用組合找到,LS,然後用AWK格式化輸出:
find . -name "*.jpg" | xargs ls -ahl $1 | awk '{print $5" "$9}' > results.txt
請注意,該腳本將遞歸搜索從目錄中,你與指定找到
請描述你想要更詳細地實現什麼,很難說出你想要循環的東西。此外,請發佈您到目前爲止所嘗試的內容。 – Mat
我需要將文件名和文件大小打印到.txt文件。我需要弄清楚如何讓它看起來在目錄中。 –
恐怕目前還不清楚你想要什麼。你想打印出所有.jpg文件的大小嗎?或者只有尺寸爲40318的那些?另外,您是否只對特定目錄或子目錄中的jpg文件感興趣? –