我有如下的字符串,
Abc \ \ <--- This is With space at the end
Abc \ \ <--- This is Without space at the end
Abc\ \
Abc \\
Abc\\
Abc\
Abc \
所有上述字符串的预期结果
Abc
简而言之,如果在字符串的末尾有任何空间和组合的组合模式。 \然后我想删除它。 我想用awk做这个..
请帮忙...
答案 0 :(得分:3)
要对每一行应用单个替换,请使用sed:
sed 's/[ \]*$//g' file
匹配每行末尾的空格和反斜杠的所有组合,并替换为空。
答案 1 :(得分:1)
使用awk,您可以执行awk '{gsub(/[ \\]+$/,"")}1' file
测试:
$ cat -A file
Abc \ \ $
Abc \ \$
Abc\ \$
Abc \\$
Abc\\$
Abc\ $
Abc \ $
$ awk '{gsub(/[ \\]+$/,"")}1' file
Abc
Abc
Abc
Abc
Abc
Abc
Abc
正则表达式匹配行尾的连续空格和反斜杠的序列。