2015-10-08 37 views
1

我使用下面的命令:如何使用find命令來獲得CSV

$ find /mnt/DCS_01 -size +10000k -exec ls -sd {} + 
26412032 /mnt/DCS_01/file.mp3 
26412032 /mnt/DCS_01/file2.mp3 

我想寫這是一個csv文件。有沒有辦法讓輸出爲逗號分隔,這樣我就可以把它寫入一個文本文件,例如:

$ find /mnt/DCS_01 -size +10000k -exec ls -sd {} + "csv" > file.txt 

回答

1

隨着-printf

find /mnt/DCS_01 -size +10000k -printf '%k,"%p"\n' 

閱讀有關的printf:

man find | less +/'-printf format' 
+0

謝謝 - 我如何才能以人類可讀的形式獲得這種尺寸?例如,3.4GB? – David542

+0

@ David542'ls -h'爲您提供「人類可讀的」輸出。 – Swoogan

2

可以使用printf -

$ find /mnt/DCS_01 -size +10000k -printf '%s,%p\n' 
29038348776,/mnt/DCS_01/file1... 
919345944,/mnt/DCS_01/file2... 
+0

%s與OP輸出的大小不一樣 –

+0

@GillesQuenot'%s'是什麼呢?不是'%s文件的大小,以字節爲單位。 '? – David542