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]