我已经在linux终端上使用touch命令在只有这些创建文件的目录中创建了10个文件。
$ touch a1.c a2.c a3.c a4.c a5.c a6.c a7.c a8.c a9.c a10.c
我想一次在所有这些文件中写一个字符串“stackOverflow”(比如说)。 怎么做?有任何命令或其他方式吗?
平台-ubuntu 10.04
答案 0 :(得分:3)
从命令提示符(Bash)
for f in *.c; do echo "stackOverflow" >> $f; done
答案 1 :(得分:1)
一旦您的数据在数组中,就很容易循环,请参阅示例。
只需将其保存在空文件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
答案 2 :(得分:1)
如果文件不为空(至少1个字节):
$ sed -i '1i\
stackOverflow' a{1..10}.c
会在每个文件的开头插入stackOverflow
。