2016-09-19 50 views
0

我有字符串像下面的端部,如果在所述字符串的末尾取出特定模式,在字符串AWK

Abc \ \   <--- This is With space at the end 
Abc \ \   <--- This is Without space at the end 
Abc\ \ 
Abc \\ 
Abc\\ 
Abc\ 
Abc \ 

上述所有串预期结果,

Abc 

在短有任何组合模式的空间& \然后我想删除它。 我想这样做,用awk ..

请帮助这个...

+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 

正则表达式匹配序列在行尾有连续的空格和反斜杠。

+1

谢谢.. 正如我想... 与这个正则表达式M小周... – Punit

2

要申请一个单独置换到各行,使用SED:

sed 's/[ \\]*$//g' file 

匹配所有的空格和反斜杠组合在每行的末尾,什么也没有更换。