Sed 用文件名替换文本中的标记
我有一堆文本文件,其中包含token-filename-。我需要用文件的实际路径和文件名替换它 这就是我到目前为止的情况: grep-lr-e'-filename-'*.txt | xargs sed-i 's/-filename-/therealname/g' 有没有办法用文件名替换文件名?likeSed 用文件名替换文本中的标记,sed,grep,Sed,Grep,我有一堆文本文件,其中包含token-filename-。我需要用文件的实际路径和文件名替换它 这就是我到目前为止的情况: grep-lr-e'-filename-'*.txt | xargs sed-i 's/-filename-/therealname/g' 有没有办法用文件名替换文件名?like for f in $(grep...) ; do sed -i "s,-filename-,$f,g" $f ; done 你是说 使用xargs它将是这样的 grep ... | xargs
for f in $(grep...) ; do sed -i "s,-filename-,$f,g" $f ; done
你是说
使用xargs
它将是这样的
grep ... | xargs -I% -n 1 sed -i "s,-filename-,%,g" %
再打一点就行了
for x in *.txt; do
sed -i "s/-filename-/$x/g" $x;
done
当然,这些新词只是为了清楚起见。请随意把它塞进一行
for f in YOUR_FILE_LIST_MASK ; do
sed -i "s:-filename-:${f}" ${f}
done
我能做到