我想将文件的第10行到第15行复制到Unix中的另一个文件中。
我有档案file1.txt
和file2.txt
。
我想将{10}中的第10行复制到file1.txt
。
答案 0 :(得分:9)
打开一个带有shell的终端
sed -n '10,15p' file1.txt > file2.txt
简单&容易。
如果您希望追加到最后而不是擦除file2.txt
,请使用>>
进行重定向。
sed -n '10,15p' file1.txt >> file2.txt
^^
AWK也是一个功能强大的命令行文本操作器:
awk 'NR>=10 && NR<=15' file1.txt > file2.txt
答案 1 :(得分:1)
作为上一个答案的补充,您可以使用以下3个解决方案之一。
sed
仅打印范围内的行并将其重定向到输出文件
sed -n '10,15p' file1.txt > file2.txt
头/尾组合
在将输出重定向到文件之前,使用头部和尾部剪切文件并获得所需的范围
cat file1.txt | head -n 15 | tail -n 6 > file2.txt
<强> AWK 强>
仅打印范围内的行并将其重定向到输出文件
awk 'NR>=10 && NR<=15' file1.txt > file2.txt