假设 $2 是我的变量。我试过从
awk -F\, '{print $2 ":"}'
至
awk -F\, '{print gsub(/[ \t]+$/, "", $2) ":"}'
但它从打印一些东西到什么都不打印。
原文由 Hoa 发布,翻译遵循 CC BY-SA 4.0 许可协议
这些功能可以方便地提高可读性。它们还返回修剪后的结果:
function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
BEGIN {
# whatever
}
{
# whatever
}
END {
# whatever
}
来源: https ://gist.github.com/andrewrcollins/1592991
原文由 Jong Bor Lee 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答798 阅读✓ 已解决
2 回答3.2k 阅读
您正在打印
gsub
的结果,但gsub
对$2
进行就地修改,而不是返回修改后的副本。调用gsub
,然后打印: