从txt文件的每一行删除第一个和最后一个字符
问题描述:
我需要从文本文件的每一行中删除第一个和最后一个字符。从txt文件的每一行删除第一个和最后一个字符
例如:
输入
$cat file1.txt
|head1|head2|head3|
|1|2|3|
|2|3|4|
输出:
head1|head2|head3
1|2|3
2|3|4
答
使用SED:
sed 's/.$//; s/^.//' inputfile
答
一个简单的方法来做到这在一个sed命令:
sed -E 's/^.|.$//g' file
在行首或行末匹配一个字符,并替换为空。
在基本模式下,请记住,|
需要进行转义:
sed 's/^.\|.$//g' file
答
如果awk
是有帮助的:
awk '{print substr($0,2,length($0)-2)}' file
head1|head2|head3
1|2|3
2|3|4
答
@ smisra-能否请您尝试以下,它可以帮助您在一样。
awk '{gsub(/^\||\|$/,X,$0);print}' Input_file
它总是以管道结束吗? –
| MRC代码|产品|布拉沃次要|周期|当前年份|版本|国家代码|总帐计数|净售出单位 - 每个数量| MU |销售数量 - 每个数量|售出的净单位 - 每月|每月|销售货币| ICP旗|上传ID | | 1757 | 02.100.004 | 47830 | 10 | 2016 | 0 | PR | 60515900 | 1.000 | EA | 0.00 | 0.000 | 0.00 | | Y | 157282 | – smisra3
我已经在 – smisra3