从所有子文件夹打印到文件的前两行

时间:2015-10-18 14:23:03

标签: linux ubuntu sed head

我有以下Linux命令:

head -2 * > output.txt

我想对所有子文件夹运行此命令,并将输出输出到同一文件中。

输出示例:

path_file1:
first two lines of file1

path_file2:
first two lines of file2

..
..
..

这可以作为Linux命令吗?如果是这样,怎么样?

4 个答案:

答案 0 :(得分:2)

您可以使用-exec命令上的find标志来执行head -2

find . -type f -exec head -2 {} \; > output.txt

答案 1 :(得分:0)

这可能适合你(GNU sed):

sed -sn '1,2p' * > /anotherDirectory/output.txt

答案 2 :(得分:0)

output=""

for f in $(find .)
do
    output=$output"\n\n${f}:\n"$(head -2 $f)
    echo -e $output
done

echo -e $output > somefile.txt

循环遍历“find。”找到的所有文件,在输出中添加两个换行符,后跟文件名和冒号,然后是head -2命令。最后,所有内容都写入somefile.txt

答案 3 :(得分:0)

findhead结合使用(-v打印文件名)

find . -type f -exec head -vn2 {} \; >print.txt