在下面很长的一行示例中,如何将"***"
附加到行尾?
在sed中尝试使用“$”但是替换不是在行尾但在附近在列350之后。请参阅下面的"***"
。
tail -n+2 filename.dat | sed s/"$"/"***"/
xxxxxxxxxxx@gmail.com|111150151744782|99149327|NONM|20110325|20110605|TE201107E||ESOK1A||2002|2003A|2004A|2005|2007|2008|2009|2010|2011|2012|2014A|2016|2017A|2018|2019|2020|2021A|3001|3002|4001A|4002|4003|4004|4005A|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||8A12329A***833493A9C52EF5D66419ED5|016|zzzzzz|41606299952
答案 0 :(得分:4)
试试这个:sed 's/$/*/g'
(我在bash
上使用Ubuntu
)
答案 1 :(得分:0)
还有其他方法可以追加。追加基本上只是将某些东西附加到已经存在的字符串上。 “替代”不是必要的。只需打印出你想要的东西就足够了。
壳:
$ var=$(tail -n+2 filename.dat )
$ echo "${var}***"
AWK:
$ tail -n+2 filename.dat | awk '{print $0"***"}'
红宝石(1.9 +)
$ ruby -ne 'puts $_.chomp+"***"' file