14

我想从文件中删除第一行和最后一行

文件1代码:

H|ACCT|XEC|1|TEMP|20130215035845|

849002|48|1208004|1

849007|28|1208004|1

T|2

删除后的输出应该是

849002|48|1208004|1

849007|28|1208004|1

我已经尝试过以下方法,但必须运行 2 次,我想要一种衬垫解决方案一次性移除两者!

sed '1,1d' file1.txt  >> file1.out
sed '$d' file1.out  >> file2

请建议一个班轮代码....

4

5 回答 5

36

你可以使用;

sed '1d; $d' file
于 2013-02-16T18:41:18.703 回答
11

使用命令分隔符

在 sed 中,您可以使用分号分隔命令。例如:

sed '1d; $d' /path/to/file
于 2013-02-16T18:41:25.407 回答
5

怎么样:

sed '$d' < file1.txt | sed "1d"
于 2013-02-16T18:38:42.590 回答
0

尝试sed -i '1d;$d' /path/to/file

于 2019-09-01T11:16:28.603 回答
-1
awk 'NR>2{print v}{v=$0}'

从第 3 行开始,每次都打印上一行。这意味着不会打印第一行和最后一行。

于 2014-12-25T01:58:58.003 回答