我有一个文件,其中包含1行,如下所示
VINOTH |KARTHICK |RAVI
我正在使用以下命令删除前导和尾随空格,但是它不起作用。
awk '{ gsub(/^[ \t]+|[ \t]+$/, ""); print }' Input_File
请帮助。
必需的输出。
VINOTH|KARTHICK|RAVI
答案 0 :(得分:1)
您可以使用
sed 's/[ \t]*|[ \t]*/|/g;s/^[ \t]*\|[ \t]*$//g' Input_File
这里有两个正则表达式:
s/[ \t]*|[ \t]*/|/g
用单个|
替换所有用可选空格括起来的|
(按照BRE POSIX,正则表达式中的|
匹配文字|
字符标准)s/^[ \t]*\|[ \t]*$//g
删除行首和结尾的所有空格。请注意,\|
是一个OR运算符(由于使用了BRE POSIX语法而已退出)。请参见online demo。
答案 1 :(得分:1)
请您尝试以下操作(由于您的示例输入和预期输出不清楚,因此未对其进行测试)。
awk '{gsub(/^[[:space:]]+|[[:space:]]+$/,"")} 1' Input_file