Linux在多个文件上写东西

Linux在多个文件上写东西,linux,debian,Linux,Debian,我有一个文件“atest.txt”,其中有一些文本 我想在文件“asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt”中打印此文本 我的服务器上不存在此文件 我在运行Debian。。我能做什么?在bash中,您可以编写 #!/bin/bash $TEXT="hello\nthis is a test\nthank you" for i in `seq 1 $1`; do echo -e $TEXT >text$i.txt; don

我有一个文件“atest.txt”,其中有一些文本

我想在文件“asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt”中打印此文本

我的服务器上不存在此文件

我在运行Debian。。我能做什么?

在bash中,您可以编写

#!/bin/bash
$TEXT="hello\nthis is a test\nthank you"
for i in `seq 1 $1`; do echo -e $TEXT >text$i.txt; done
编辑(响应问题更改)

如果无法以编程方式确定目标文件的名称,则可以使用以下脚本:

#!/bin/bash
ORIGIN=$1;
shift
for i in `seq $#`; do cp "$ORIGIN" "$1"; shift; done
您可以这样使用它:
脚本名称源文件目标文件1秒目标文件“第三个文件”

如果您想知道为什么cp命令中会有双引号,那么您可以在bash中编写它来处理包含空格的文件名

#!/bin/bash
$TEXT="hello\nthis is a test\nthank you"
for i in `seq 1 $1`; do echo -e $TEXT >text$i.txt; done
编辑(响应问题更改)

如果无法以编程方式确定目标文件的名称,则可以使用以下脚本:

#!/bin/bash
ORIGIN=$1;
shift
for i in `seq $#`; do cp "$ORIGIN" "$1"; shift; done
您可以这样使用它:
脚本名称源文件目标文件1秒目标文件“第三个文件”

如果您想知道为什么cp命令中会有双引号,那么它是用于处理bash提示符中包含空格的文件名的:

for f in test1.txt test2.txt test3.txt; do echo -e "hello\nworld" >> $f; done
如果文本存在于atest.txt中,则执行以下操作:

for f in test1.txt test2.txt test3.txt; do cat atest.txt >> $f; done
从bash提示符:

for f in test1.txt test2.txt test3.txt; do echo -e "hello\nworld" >> $f; done
如果文本存在于atest.txt中,则执行以下操作:

for f in test1.txt test2.txt test3.txt; do cat atest.txt >> $f; done
使用tee(1)命令,将其标准输入复制到标准输出和命令行上指定的任何文件。例如

printf "Hello\nthis is a test\nthank you\n" | tee test1.txt test2.txt $OTHER_FILES >/dev/null printf“您好\n这是一个测试\n谢谢\n” |tee test1.txt test2.txt$其他_文件>/dev/null 以您的例子:

cat atest.txt | tee asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt >/dev/null cat atest.txt |tee asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt>/dev/null使用tee(1)命令,该命令将其标准输入复制到标准输出以及命令行上指定的任何文件。例如

printf "Hello\nthis is a test\nthank you\n" | tee test1.txt test2.txt $OTHER_FILES >/dev/null printf“您好\n这是一个测试\n谢谢\n” |tee test1.txt test2.txt$其他_文件>/dev/null 以您的例子:

cat atest.txt | tee asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt >/dev/null cat atest.txt |tee asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt>/dev/null这不简单吗:

cp atest.txt asdasd.txt 
cp atest.txt asgfaya.txt
cp atest.txt asdjfusfdgh.txt
cp atest.txt asyeiuyhavujh.txt
是不是很简单:

cp atest.txt asdasd.txt 
cp atest.txt asgfaya.txt
cp atest.txt asdjfusfdgh.txt
cp atest.txt asyeiuyhavujh.txt

如果有人想将相同的内容写入目录中的所有文件:

printf 'your_text' | tee *

如果有人想将相同的内容写入目录中的所有文件:

printf 'your_text' | tee *

希望您不介意我的编辑使答案更清晰,因为示例uooc:tee test1.txt test2.txt/dev/null希望您不介意我的编辑使答案更清晰,因为示例uooc:tee test1.txt test2.txt/dev/null