如何删除一行中的尾随字符

时间:2016-01-21 10:36:10

标签: perl sed

我的文件包含如下所示的模式:

a0
b00
c000
d0000000
e00
f00

如何编写perl oneliner或sed命令以获取输出:

a
b
c
d
e
f

我的试用版:

sed -i 's/0*$//g' filename.txt

4 个答案:

答案 0 :(得分:0)

试试这个:

sed -r 's/(.).*/\1/' File

仅打印每行的第一个字符。

答案 1 :(得分:0)

这是perl等效(现场替换):

perl -pi -e 's/^(.).*$/$1/' file

如果你好奇awk

awk 'BEGIN{FS=""}{print $1}' file

答案 2 :(得分:0)

很可能你的行中有尾随空格,试试这个sed oneliner:

sed 's/0*\s*$//' file

请注意,g标志不是必需的。

答案 3 :(得分:0)

使用perl的一种方式:

perl -F"" -alne 'print $F[0]' file
相关问题