我有几行文件:
<2-10 digits> ; word
我想用其他内容替换该单词之前的所有数字。我怎么能这样做?
答案 0 :(得分:2)
sed -i -e 's/.*word/something;word/g' <filename>
循环遍历目录中的多个文件。我假设.txt文件作为文件扩展名:
for i in `\ls -1 *.txt`
do
sed -i -e 's/.*word/something;word/g' $i
done
注意:sed -i
将以交互方式修改文件。因此,测试没有-i
选项的命令来检查这是你想要的,然后去找它...
答案 1 :(得分:1)
更新: sed示例:
s="999 abc 1234 ; word 567"
echo $s | sed 's/^\(.* \)[0-9][0-9]*\( ; word.*\)$/\1something\2/g'
<强>输出:强>
999 abc something ; word 567