Trim Awk 中的前导和尾随空格
Trim Leading and trailing Spaces in Awk
我有一个文件,其中包含 1 行,如下所示
VINOTH |KARTHICK |RAVI
我正在使用以下命令删除前导空格和尾随空格,但它并没有起作用。
awk '{ gsub(/^[ \t]+|[ \t]+$/, ""); print }' Input_File
请帮忙。
需要输出。
VINOTH|KARTHICK|RAVI
您可以使用
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。
能否请您尝试以下(由于您的示例输入和预期输出不明确,因此未进行测试)。
awk '{gsub(/^[[:space:]]+|[[:space:]]+$/,"")} 1' Input_file
我有一个文件,其中包含 1 行,如下所示
VINOTH |KARTHICK |RAVI
我正在使用以下命令删除前导空格和尾随空格,但它并没有起作用。
awk '{ gsub(/^[ \t]+|[ \t]+$/, ""); print }' Input_File
请帮忙。
需要输出。
VINOTH|KARTHICK|RAVI
您可以使用
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。
能否请您尝试以下(由于您的示例输入和预期输出不明确,因此未进行测试)。
awk '{gsub(/^[[:space:]]+|[[:space:]]+$/,"")} 1' Input_file