echo -n "##### STATIONS? #######"
read station
awk -v input="$station" '
BEGIN {
n = split(tolower(input), user)
fmt = "%-4s\n"
}
{print}
/stab_site clear/ {
for (i=1; i<=n; i++)
printf fmt, "stab_site" user[i]
exit
}
' ./data > data_2
假设用户的输入:ankr ista
对于电台。代码执行后,在数据文件中的“ stab_site clear
”行之后,用户的输入写入如下;
stab_siteankr
stab_siteista
我需要在代码中的“stab_site”和“station_ids”之间留一个空格。我还需要在从行首开始一个空格之后编写各行,如下所示;
stab_site ankr
stab_site ista
答案1
让分裂
printf fmt, "stab_site" user[i]
"stab_site" user[i]
stab_sitenakr
由于站点后没有空间,因此将进行printf fmt, "stab_site" user[i]
正在转向print "%-4s\n" , stab_sitenakr
打印左对齐stab_sitenakr
也许你正在寻找
printf fmt, "stab_site " user[i]
或(根据OP的要求)
printf " %s %s\n", "stab_site", user[i]