把一个string写入大量的文件

我已经在只有这些创build的文件的目录中的Linuxterminal上使用触摸命令创build了10个文件。

$ touch a1.c a2.c a3.c a4.c a5.c a6.c a7.c a8.c a9.c a10.c 

我想写一个string“stackOverflow”(说)到所有这些文件一次。 如何做到这一点?有没有任何命令或其他方式?

平台-ubuntu 10.04

从命令提示符(Bash)

 for f in *.c; do echo "stackOverflow" >> $f; done 

一旦你的数据在数组中,很容易循环,看例子。

只要保存在一个空的文件writeStringToFiles.sh并右键单击它,然后在权限选项卡下单击允许执行文件作为一个程序。 你可以双击它,或者从终端通过“cd”运行它到它的目录中,然后输入“./writeStringToFiles.sh”。 你可以把你想要的任何命令放在bash脚本中。

 #!/bin/sh files=(a1.c a2.c a3.c a4.c a5.c a6.c a7.c a8.c a9.c a10.c) thingToWrite='stackOverflow' for i in "${files[@]}" do : touch $i echo -e $thingToWrite >> $i done exit 

如果你的文件不是空的(至少1个字节):

 $ sed -i '1i\ stackOverflow' a{1..10}.c 

将在每个文件的开头插入stackOverflow