我正在尝试将字符串添加到许多文件的开头,在保持文件名的同时创建新的文件扩展名。
cat string.txt file001.old > file001.new
cat string.txt file002.old > file002.new
cat string.txt file003.old > file003.new
etc...
我试图通过以下方式批量处理:
for i in *.old
do
cat string.txt $i > $i.new
done
但这并没有完全奏效,我的技能有限...... 提前感谢您的帮助。
答案 0 :(得分:0)
有几种方法可以做到这一点。这可能是最简单的:
for i in *.old
do
echo string.txt > ${i%old}new
cat $i >> ${i%old}new
done
答案 1 :(得分:0)
或者这个较短的选择
for i in *.old
do
echo string.txt | cat - $i > ${i%old}new
done
甚至用heredoc代替管道
for i in *.old
do
cat - $i <<< string.txt > ${i%old}new
done
答案 2 :(得分:0)
谢谢你们......我忘了添加标点符号,应该看起来像这样:
for i in *.old
do
cat string.txt "$i" > "$i".new
done
输出看起来像&#34; file002.old.new&#34; 我在哪里使用SED来删除旧的扩展 但我肯定会尝试其他方法
再次感谢,Nem