如何使用awk从字符串中删除名称和姓氏之间的空格?大多数示例都是关于将数据从命令行重定向到awk,但我需要在awk脚本中操作一个字符串.
转换这个:
"steve john"
Run Code Online (Sandbox Code Playgroud)
至:
"stevejohn"
Run Code Online (Sandbox Code Playgroud)
我有一个字符串变量,我要求用户在awk脚本中输入.我需要删除空格.
pax*_*blo 16
gsub是你的朋友.以下命令基本上对目标$0(整行)上的正则表达式(在本例中为单个空格)进行全局替换,将其替换为空字符串.
pax> echo "steve john" | awk '{ gsub (" ", "", $0); print}'
stevejohn
Run Code Online (Sandbox Code Playgroud)
您可以使用任何目标,包括用户的一个输入:
pax> awk 'BEGIN {getline xyzzy ; gsub(" ","", xyzzy) ; print xyzzy}'
hello there my name is pax
hellotheremynameispax
Run Code Online (Sandbox Code Playgroud)
小智 5
用途sed:
$ echo "steve john" | sed 's/ //g'
stevejohn
Run Code Online (Sandbox Code Playgroud)
如果必须使用awk,请执行以下操作:
$ echo "steve john" | gawk '{print $1 $2}'
stevejohn
Run Code Online (Sandbox Code Playgroud)
编辑:
在bash脚本中,您可以执行以下操作:
s="steve john" # user input
t=$(echo $s | gawk '{print $1 $2}')
echo $t
Run Code Online (Sandbox Code Playgroud)