2016-01-21 57 views
-1

我有圖案文件如下所示:如何刪除尾隨字符在一行

a0 
b00 
c000 
d0000000 
e00 
f00 

如何寫一個perl oneliner或sed的命令,以獲得輸出爲:

a 
b 
c 
d 
e 
f 

我的試驗:

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

我不c用命令的任何問題。 –

+1

如果你的命令失敗了,我猜測問題在別處。你的文件是否包含DOS行尾?看看用'dos2unix'轉換它是否有幫助。 – tripleee

+0

'abc000'必須是什麼結果? – Toto

回答

0

試試這個:

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

只打印每行的第一個字符。

+0

也許全局標誌'g'在最多隻能匹配一次的比賽中不需要。 – potong

+0

potong:right :-) –

0

這是perl當量(就地更換):

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

如果你是好奇的awk

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

很可能有尾隨在你行的空間,給這個sed的oneliner一試:

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

請注意,g標誌沒有必要。用perl

0

方式一:

perl -F"" -alne 'print $F[0]' file