Bash - 用逗号替换随机文本

时间:2017-11-30 12:46:06

标签: linux bash awk sed replace

我很难找到一种方法来替换Linux bash上 second 第三出现的逗号之间的随机文本。 原文如下:

RANDOMTEXT,RANDOMTEXT, >RANDOMTEXT< ,RANDOMTEXT,RANDOMTEXT

粗体字符串是我想要替换的。 我用sed和awk尝试了各种各样的东西,但没有任何效果。

3 个答案:

答案 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