use*_*413 2 command-line bash sed
以下几行将essay_i.txt 的内容附加到essay1.txt 的末尾;
touch essay1.txt
for (( i = 1 ; i <= 10 ; i++ )); do
sed '2p' essay_"${i}".txt >> essay1.txt
done
Run Code Online (Sandbox Code Playgroud)
我应该如何更改它以便不复制每个 essay_i.txt 的第一行(即只复制第 2 行->结束)?
要取消第一行,请使用'1d'
(即第 1 行,删除):
touch essay1.txt
for file in essay_*; do
sed '1d' $file >> essay1.txt
done
Run Code Online (Sandbox Code Playgroud)
输出将是
~$ cat essay1.txt
line 2 from essay 1
line 3 from essay 1
line 2 from essay 2
line 3 from essay 2
...
Run Code Online (Sandbox Code Playgroud)
对于essay_*
当前工作目录中命名的所有文件。
除了使用sed
,您还可以使用tail
来完成这项工作:
tail -n +2 $file >> essay1.txt
Run Code Online (Sandbox Code Playgroud)
哪里+2
意味着从第二行开始(-n 2
将是最后两行)。