我需要在字符串中找到第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/

10-14 01:18