如何将多个文件的数据追加到单个文件中?

UNI*_*est 6 shell text-processing

例如:我有01.txt02.txt文件,需要将这些文件的数据附加到新文件中new.txt

它应该根据01.txt后跟02.txt文件附加数据。

在此之前,我只需要删除 files( 01.txt 02.txt)的第一行和最后一行,然后将它们附加到新文件中。

我们如何使用 UNIX 实现这一点?

gle*_*man 6

另一种方法:

for file in 01.txt 02.txt; do sed '1d;$d;' "$f"; done > output
Run Code Online (Sandbox Code Playgroud)

如果您需要连接许多文件,这将特别有用:

for file in *.txt; do ...
Run Code Online (Sandbox Code Playgroud)

您还可以使用外壳扩展:

for file in 0{1,2}.txt; do ...
Run Code Online (Sandbox Code Playgroud)


ter*_*don 4

打印除文件第一行之外的所有内容的简单方法是tail

tail -n +2 01.txt
Run Code Online (Sandbox Code Playgroud)

要打印文件中除最后一行之外的所有内容,请使用head

head -n -1 01.txt
Run Code Online (Sandbox Code Playgroud)

因此,要将所有这些放在一起并打印除第一行和最后一行之外的所有内容01.txt并将02.txt它们另存为03.txt,您可以使用子 shell将上述命令的输出组合到两个文件上:

(tail -n +2 01.txt | head -n -1; tail -n +2 02.txt | head -n -1) > new.txt
Run Code Online (Sandbox Code Playgroud)