Hoa*_*Hoa 24 linux bash shell awk
假设$ 2是我的变量.我试过去
awk -F\, '{print $2 ":"}'
Run Code Online (Sandbox Code Playgroud)
至
awk -F\, '{print gsub(/[ \t]+$/, "", $2) ":"}'
Run Code Online (Sandbox Code Playgroud)
但它从印刷品到印刷品都没有.
je4*_*e4d 44
您正在打印结果gsub
,但gsub
会进行就地修改$2
而不是返回修改后的副本.打电话gsub
,然后打印:
awk -F\, '{gsub(/[ \t]+$/, "", $2); print $2 ":"}'
Run Code Online (Sandbox Code Playgroud)
Jon*_*Lee 29
这些功能可以方便地提高可读性.他们还返回修剪结果:
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
}
Run Code Online (Sandbox Code Playgroud)
资料来源:https://gist.github.com/andrewrcollins/1592991
JGC*_*JGC 16
(我没有足够的观点直接评论上一个答案.)
在使用结束时修剪空白$2
:
awk -F\, '{gsub(/[ \t]+$/, "", $2); print $2 ":"}'
Run Code Online (Sandbox Code Playgroud)
要在使用开始时修剪空白$2
:
awk -F\, '{gsub(/^[ \t]+/, "", $2); print $2 ":"}'
Run Code Online (Sandbox Code Playgroud)
对于结束和开始:
awk -F\, '{gsub(/^[ \t]+/, "", $2); gsub(/[ \t]+$/, "", $2); print $2 ":"}'
Run Code Online (Sandbox Code Playgroud)
小智 5
Gawk 的单衬:
gawk -F\, '{$2 = gensub(/^[ \t]*|[ \t]*$/,"","g",$2)}'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73467 次 |
最近记录: |