我需要在字符串中找到第n个单词(空格分隔)并替换为变量。
在下面的示例中,第4个单词需要替换为另一个字符串。
1 Test 123456 REPLACE_ME 99
到
1 Test 123456 $STRING_TO_REPLACE 99
我可以使用
awk '{ print $4}'
找到第四个单词,但不知道如何用另一个字符串变量替换。任何帮助都将不胜感激。
最佳答案
replace='replace me'; echo "233131 2 saad four five dssd sdad" | awk -v r="$replace" '{ for(i = 1; i <= NF; i++) { if ( i == 4 )print r;else print $i } }'
关于regex - Bash用变量替换字符串中的第N个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20984475/