在linux下搜索和替换?

时间:2017-09-04 14:11:11

标签: linux sed grep

我尝试了以下操作,但没有添加''此示例

我想将FILENAME_LOGIN替换为'login.php'

试过这个:

grep -r "login.php" -l | tr '\n' ' ' | xargs sed -i 's/"login.php"/'login.php'/g'

但是,它为login.php提供了'login.php'

由于

3 个答案:

答案 0 :(得分:1)

您只需要awk

awk -F, -v val='s2' '{
   s="";
  for (i=1; i<=NF; i++)
     if (NR==1)
        hdr[i]=$i
     else if ($i==val)
        s=s hdr[i] FS;
  if (s) {
     sub(/,$/, "", s);
     print s
  }
}' file

col3,col25

答案 1 :(得分:0)

我明白了:

find ./ -type f -exec sed -i -e 's/FILENAME_LOGIN/'login.php'/g' {} \;

答案 2 :(得分:0)

find ./ -type f -exec sed -i -e 's/FILENAME_LOGIN/'\''login.php'\''/g' {} \;