通过awk从字符串中删除空格

通过awk从字符串中删除空格,awk,Awk,如何使用awk从字符串中删除name和lastname之间的空格? 大多数示例都是关于将数据从命令行重定向到awk的,但我需要在awk脚本中操作字符串 将其转换为: "steve john" 致: 我有一个字符串变量,我要求用户在awk脚本中输入。我需要删除空格。使用sed: $ echo "steve john" | sed 's/ //g' stevejohn 如果必须使用awk,请执行以下操作: $ echo "steve john" | gawk '{print $1 $2}' st

如何使用awk从字符串中删除name和lastname之间的空格? 大多数示例都是关于将数据从命令行重定向到awk的,但我需要在awk脚本中操作字符串

将其转换为:

"steve john"
致:


我有一个字符串变量,我要求用户在awk脚本中输入。我需要删除空格。

使用
sed

$ echo "steve john" | sed 's/ //g'
stevejohn
如果必须使用
awk
,请执行以下操作:

$ echo "steve john" | gawk '{print $1 $2}'
stevejohn
编辑:

在bash脚本中,可以执行以下操作:

s="steve john" # user input
t=$(echo $s | gawk '{print $1 $2}')
echo $t

gsub
是你的朋友。下面的命令基本上对正则表达式(在本例中为单个空格)进行全局替换,用空字符串替换目标
$0
(整行)

您可以使用任何目标,包括用户的一个输入:

pax> awk 'BEGIN {getline xyzzy ; gsub(" ","", xyzzy) ; print xyzzy}'
hello there my name is pax
hellotheremynameispax
echo“约翰·史密斯aaa”|\

awk'BEGIN{FS=”“;OFS=”“}{for(i=1;i
awk'{print$1$2}'文件名
echo“hi gh”| awk'{print$1$2}“
如果您有关于构建shell脚本的答案,请编辑您的问题以包含您尝试过的内容。我有一个字符串变量,我要求用户在awk脚本中输入。我需要删除空格成员以引用您的变量($s”而不是$s)在bash中,您不会真正调用外部命令来实现这一点,而是使用shell内置:s=“steve john”;echo“${s/}”Stevejohn,也可以使用“sed”命令。sed通常用于从输入中删除或替换字符串。
pax> echo "steve john" | awk '{ gsub (" ", "", $0); print}'
stevejohn
pax> awk 'BEGIN {getline xyzzy ; gsub(" ","", xyzzy) ; print xyzzy}'
hello there my name is pax
hellotheremynameispax
echo "john smith aaa " |\
awk 'BEGIN {FS=" "; OFS=""} {for(i=1;i<=NF;++i) {out = out OFS $i}} END {print out;}'