我正在尝试使用awk
,但可以使用其他任何可行的东西
假设我有一个包含这些行的文件
ewhueh wnlknlweknlnw/ qwejmdpdhhd 47578
enhkine enoekjohnkjiof elkjehbjuwekjuk 88989
ehnjkine efjlwkjflkjw/ ie3hjfihie 73746
ehneihe efhehjlkijehfl ekljekfjl 8438477
但我希望所有行都以这样的正斜杠结尾
ewhueh wnlknlweknlnw/ qwejmdpdhhd 47578
enhkine enoekjohnkjiof/ elkjehbjuwekjuk 88989
ehnjkine efjlwkjflkjw/ ie3hjfihie 73746
ehneihe efhehjlkijehfl/ ekljekfjl 8438477
我该怎么做呢?
我尝试了这个但得到了不好的结果
awk '{sub(/.$/, "/", $2)} 1'
但得到了这个
ewhueh wnlknlweknlnw/ qwejmdpdhhd 47578
enhkine enoekjohnkjio/ elkjehbjuwekjuk 88989
ehnjkine efjlwkjflkjw/ ie3hjfihie 73746
ehneihe efhehjlkijehf/ ekljekfjl 8438477
请注意,它去掉了前一行的最后一个字符,我不希望这样
那么我怎样才能达到这个结果呢?
ewhueh wnlknlweknlnw/ qwejmdpdhhd 47578
enhkine enoekjohnkjiof/ elkjehbjuwekjuk 88989
ehnjkine efjlwkjflkjw/ ie3hjfihie 73746
ehneihe efhehjlkijehfl/ ekljekfjl 8438477
答案1
使用 awk:
awk '$2 !~ /\/$/ {$2 = $2 "/"}; 1' file
答案2
简单的。假设有问题的文件名是 foo.txt,那么您想要的可以通过sed
如下方式完成:
sed 's/$/\//' foo.txt > aux && mv aux foo.txt