从所有子文件夹打印到文件前两行
Print into file first two lines from all subfolders
我有以下 Linux 命令:
head -2 * > output.txt
我想运行对所有子文件夹执行此命令,并将输出放入同一个文件中。
输出示例:
path_file1:
first two lines of file1
path_file2:
first two lines of file2
..
..
..
这可以作为 Linux 命令吗?如果可以,怎么做?
这可能适合您 (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
它循环遍历 "find ." 找到的所有文件,在输出中添加两个换行符,后跟文件名和冒号,然后是 head -2 命令。最后全部写到somefile.txt
您可以在 find
命令上使用 -exec
标志来执行 head -2
。
find . -type f -exec head -2 {} \; > output.txt
结合使用 find
和 head
(-v
打印文件名)
find . -type f -exec head -vn2 {} \; >print.txt
我有以下 Linux 命令:
head -2 * > output.txt
我想运行对所有子文件夹执行此命令,并将输出放入同一个文件中。
输出示例:
path_file1:
first two lines of file1
path_file2:
first two lines of file2
..
..
..
这可以作为 Linux 命令吗?如果可以,怎么做?
这可能适合您 (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
它循环遍历 "find ." 找到的所有文件,在输出中添加两个换行符,后跟文件名和冒号,然后是 head -2 命令。最后全部写到somefile.txt
您可以在 find
命令上使用 -exec
标志来执行 head -2
。
find . -type f -exec head -2 {} \; > output.txt
结合使用 find
和 head
(-v
打印文件名)
find . -type f -exec head -vn2 {} \; >print.txt