Unix xargs将一个文件复制到多个文件中

Unix xargs将一个文件复制到多个文件中,unix,aix,xargs,Unix,Aix,Xargs,我有一个目录,其中有一个包含信息的文件(称为masterfile.inc)和几个空文件(称为file1.inc-file20.inc) 我正在尝试制定一个xargs命令,将masterfile.inc的内容复制到所有空文件中 到目前为止我有 ls-ltr | awk{print$9}| grep-v masterfile | xargs-I{}cat masterfile.inc>{} 不幸的是,所有这些只是创建一个名为{}的文件,并将masterfile.inc打印到其中N次 这里的语法有什么

我有一个目录,其中有一个包含信息的文件(称为masterfile.inc)和几个空文件(称为file1.inc-file20.inc)

我正在尝试制定一个xargs命令,将masterfile.inc的内容复制到所有空文件中

到目前为止我有

ls-ltr | awk{print$9}| grep-v masterfile | xargs-I{}cat masterfile.inc>{}

不幸的是,所有这些只是创建一个名为{}的文件,并将masterfile.inc打印到其中N次

这里的语法有什么遗漏吗


提前感谢

您可以使用此命令复制文件20次:

$ tee <masterfile.inc >/dev/null file{1..20}.inc

注意:
$(ls!(masterfile.inc))
将扩展到当前目录中除
masterfile.inc以外的所有文件(请不要在文件名中使用空格)

您可以使用此命令复制文件20次:

$ tee <masterfile.inc >/dev/null file{1..20}.inc

注意:
$(ls!(masterfile.inc))
将扩展到当前目录中除
masterfile.inc
以外的所有文件(请不要在文件名中使用空格)

虽然
tee
技巧非常出色,但您可能对一种更易于适应其他情况的解决方案感兴趣。这里使用GNU并行:

ls -ltr | awk '{print $9}' | grep -v masterfile | parallel "cat masterfile.inc > {}"
wget pi.dk/3 -qO - | sh -x
安装GNU Parallel需要10秒:

ls -ltr | awk '{print $9}' | grep -v masterfile | parallel "cat masterfile.inc > {}"
wget pi.dk/3 -qO - | sh -x

观看介绍视频了解更多信息:

虽然
tee
技巧非常出色,但您可能会对更容易适应其他情况的解决方案感兴趣。这里使用GNU并行:

ls -ltr | awk '{print $9}' | grep -v masterfile | parallel "cat masterfile.inc > {}"
wget pi.dk/3 -qO - | sh -x
安装GNU Parallel需要10秒:

ls -ltr | awk '{print $9}' | grep -v masterfile | parallel "cat masterfile.inc > {}"
wget pi.dk/3 -qO - | sh -x

观看介绍视频了解更多信息:

对不起,应该更具体一些。文件的命名方式实际上并不适合于模式。它们是独一无二的名字。它似乎不喜欢这个名字!“bash:!:未找到事件”抱歉,应该更具体一些。文件的命名方式实际上并不适合于模式。它们是独一无二的名字。它似乎不喜欢这个名字!“bash:!:未找到事件”另请注意:文件是唯一的名称,不能使用任何模式。另请注意:文件是唯一的名称,不能使用任何模式。