我很难找到一种方法来替换Linux bash上 second 和第三出现的逗号之间的随机文本。 原文如下:
RANDOMTEXT,RANDOMTEXT, >RANDOMTEXT< ,RANDOMTEXT,RANDOMTEXT
粗体字符串是我想要替换的。 我用sed和awk尝试了各种各样的东西,但没有任何效果。
答案 0 :(得分:1)
类似的东西:
awk -F, '{ OFS=","; $3 = "Text to replace"; print }'
答案 1 :(得分:0)
sed 's/RANDOMTEXT/SOME_NEW_TEXT/3'
您可以使用替换表达式末尾的数字指定要替换的出现次数。
答案 2 :(得分:0)
你做的事情不是最好的解决方案,但你可以启发它
#!/bin/bash
IFS=','
j=0
for i in $(echo "RANDOMTEXT,RANDOMTEXT,RANDOMTEXT,RANDOMTEXT,RANDOMTEXT"); do
j=$(($j+1));
if [ $j -eq 3 ]; then
printf "nop,";
fi
printf "$i,"
done