我注意到目录中有很多文件,称为“sedAbCdEf”或类似文件。
/tmp/
? 更新:
我检查了脚本,直到找到一个可以制作文件的脚本。这是一些示例代码:
#!/bin/bash
a=1
b=`wc -l < ./file1.txt`
while [ $a -le $b ]; do
for i in `sed -n "$a"p ./file1.txt`; do
for j in `sed -n "$a"p ./file2.txt`; do
sed -i "s/$i/\nZZ$jZZ\n/g" ./file3.txt
c=`grep -c $j file3.txt`
if [ "$c" -ge 1 ]
then
echo $j >> file4.txt
echo "Replaced "$i" with "$j" "$c" times ("$a"/"$b")."
fi
echo $i" not found ("$a"/"$b")."
a=`expr $a + 1`
done
done
done
最佳答案
sed -i "s/$i/\nZZ$jZZ\n/g" ./file3.txt
-i
选项使sed
将标准输出存储到临时文件中。sed
完成后,它将重命名此临时文件以替换原始的file3.txt
。如果在运行
sed
时出了点问题,这些sedAbCdE
临时文件将保留在那里。您的旧文件未更改。通常没有。
是的,您可以,请参见上文。
编辑:请参阅this以进一步阅读。
关于linux - sed为什么会留下很多文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9833518/