我正在寻找某种可以使用的命令,将多个文件复制/附加到一个文件中;但没有shell 重定向(我想在 中尝试一下call_usermodehelper
,请参阅类似的问题call_usermodehelper / call_usermodehelperpipe用法 - VoidCC)。我知道我还可以使用:
cat file1 file2 > file.merge
...但这需要 shell 重定向。
到目前为止我的发现:
- 无法使用
cat
,因为它的默认 stdout 输出无法重新定义(通过命令行参数) - 除此之外,它是 shell 重定向 - 无法在单次调用中使用
dd
,因为它只能接受一个(且只有一个)if=
输入文件参数 - 无法使用
cp
,因为它将单独处理多个文件,并且无法将它们全部复制“合并”到一个位置
那么 - 有没有任何标准工具可以让我做类似的事情(伪代码):
copytool -i file1 -i file2 -o file.merge
...这样输出file.merge
表示file2
附加到file1
内容中?
答案1
你可以做:
sed -n wfile.merge file1 file2
或者:
awk '{print > "file.merge"}' file1 file2
或者:
sh -c 'cat file1 file2 > file.merge'
(请注意,根据实现的不同,前两个可能无法与二进制文件正常工作)。