Text-Processing
在沒有 shell 重定向的情況下,在一次呼叫中將多個文件複製為一個(追加、合併)?
我正在尋找某種可以使用的命令,將多個文件複製/附加到一個文件中;但沒有外殼重定向(我想嘗試一下,在call_usermodehelper / call_usermodehelperpipe 用法
call_usermodehelper
中看到類似的問題- 程式碼日誌)。我知道我可以使用:cat file1 file2 > file.merge
…但這需要外殼重定向。
到目前為止我的發現:
- 不能使用
cat
,因為它的預設標準輸出不能被重新定義(例如,通過命令行參數)——除此之外,它是 shell 重定向- 不能
dd
在單次呼叫中使用,因為它只能接受一個(並且只有一個)if=
輸入文件參數- 不能使用
cp
,因為它會單獨處理多個文件,並且不能將它們全部“合併”到一個位置那麼 - 是否有任何標準工具,可以讓我做類似(虛擬碼)的事情:
copytool -i file1 -i file2 -o file.merge
…這樣輸出
file.merge
代表file2
附加到file1
內容?
你可以做:
sed -n wfile.merge file1 file2
或者:
awk '{print > "file.merge"}' file1 file2
或者:
sh -c 'cat file1 file2 > file.merge'
(請注意,根據實現的不同,前兩個可能不適用於二進製文件)。