我有以下Linux命令:從所有子文件夾打印到文件頭兩行
head -2 * > output.txt
我要爲所有子文件夾運行此命令,並得到輸出到同一個文件。
輸出例如:
path_file1:
first two lines of file1
path_file2:
first two lines of file2
..
..
..
這是可能的Linux命令?如果是這樣,怎麼樣?
我有以下Linux命令:從所有子文件夾打印到文件頭兩行
head -2 * > output.txt
我要爲所有子文件夾運行此命令,並得到輸出到同一個文件。
輸出例如:
path_file1:
first two lines of file1
path_file2:
first two lines of file2
..
..
..
這是可能的Linux命令?如果是這樣,怎麼樣?
您可以使用find
命令中的-exec
標誌執行head -2
。
find . -type f -exec head -2 {} \; > output.txt
這可能會爲你工作(GNU SED):
sed -sn '1,2p' * > /anotherDirectory/output.txt
output=""
for f in $(find .)
do
output=$output"\n\n${f}:\n"$(head -2 $f)
echo -e $output
done
echo -e $output > somefile.txt
它通過循環利用找到的所有文件。「查找」,增加了兩個新行到輸出,其次是文件名和一個冒號,然後是頭-2命令。最後,一切都寫入somefile.txt
使用find
結合head
(-v
打印文件名)
find . -type f -exec head -vn2 {} \; >print.txt
謝謝您的回答。我試圖運行它,並得到'...是每個子文件夾的目錄錯誤。任何想法爲什麼? – Omri