UNI*_*est 6 shell text-processing
例如:我有01.txt和02.txt文件,需要将这些文件的数据附加到新文件中new.txt。
它应该根据01.txt后跟02.txt文件附加数据。
在此之前,我只需要删除 files( 01.txt 02.txt)的第一行和最后一行,然后将它们附加到新文件中。
我们如何使用 UNIX 实现这一点?
另一种方法:
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)
打印除文件第一行之外的所有内容的简单方法是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)
| 归档时间: |
|
| 查看次数: |
11043 次 |
| 最近记录: |