Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 在特定字段中插入空格_Awk_Sed - Fatal编程技术网

Awk 在特定字段中插入空格

Awk 在特定字段中插入空格,awk,sed,Awk,Sed,如何仅在文件中的字段3中的字符串之间插入空格。 我可以使用命令sed“s///g”,但这将在文件中全局执行。我只能为第3列做什么 假设输入为 A seq A1A2 B comb A1A2A3 我希望输出为 A seq A1 A2 B comb A1 A2 A3 有了您展示的样品,请尝试以下内容。使用GNUawk编写和测试 awk '{gsub(/../,"& ",$3);sub(/ +$/,"",$3)} 1

如何仅在文件中的字段3中的字符串之间插入空格。 我可以使用命令
sed“s///g”
,但这将在文件中全局执行。我只能为第3列做什么

假设输入为

A  seq      A1A2
B  comb   A1A2A3
我希望输出为

A  seq      A1 A2
B  comb   A1 A2 A3

有了您展示的样品,请尝试以下内容。使用GNU
awk
编写和测试

awk '{gsub(/../,"& ",$3);sub(/ +$/,"",$3)} 1' Input_file

假设您想在第三列数字和字母之间的“间隙”中插入一个空格,使用
GNU awk

awk '{$3 = gensub("([[:digit:]])([[:alpha:]])", "\\1 \\2", "g", $3)} 1' file

如果您知道所有行上只有三个字段

awk '{printf($1 " " $2 " ");  n=split($3,a,""); for(i=1; i <= n; i++) printf(a[i] " "); printf("\n")}' file

awk'{printf($1“$2”);n=split($3,a,”);对于(i=1;i@NEHA CHOUDHARY),您能告诉我我的解决方案对您是否有效吗?谢谢。
awk '{printf($1 " " $2 " ");  n=split($3,a,"");for(i=1; i <= n; i++) printf(a[i] " "); $1="";$2="";$3="";print($0); printf("\n")}' file