我試圖運行像這樣的命令:是否可以將stdout附加到另一個stdout?
gunzip -dc file.gz | tail +5c
所以這將輸出二進制文件的內容減去前4個字節到標準輸出,和它的作品。現在我需要追加3個額外的字節到流的末尾,但只使用stdout,從來沒有一個文件。
想象的文件包含:
1234567890
隨着當前命令,我得到:
567890
但我需要:
567890000
所以...任何想法?
我試圖運行像這樣的命令:是否可以將stdout附加到另一個stdout?
gunzip -dc file.gz | tail +5c
所以這將輸出二進制文件的內容減去前4個字節到標準輸出,和它的作品。現在我需要追加3個額外的字節到流的末尾,但只使用stdout,從來沒有一個文件。
想象的文件包含:
1234567890
隨着當前命令,我得到:
567890
但我需要:
567890000
所以...任何想法?
好了,根據答案,最終的解決方案是:
gzcat file.gz | tail -c +5 | echo 000
我並不需要,實際上也不應該使用tr -d '\n'
,因爲它會刪除文件中間的換行符。
五月像
$回聲 「`gunzip解-dc file.gz |尾+ 5c`BBB」
(其中BBB被你的三個額外的字節)爲你工作?
試試這個:
{ gunzip -dc file.gz | tail -c 5 | tr -d '\n'; echo 000; }
請注意,如果'file'的最後5個字符之一是'\ n' .... – twalberg 2013-02-28 20:12:53
爲什麼要刪除換行符?我想如果'尾巴'引入了一個尾隨的換行符,它就沒有必要了。 – chepner 2013-02-28 20:16:15
該文件是二進制文件,所以我不確定是否替換換行符是個好主意。目標是保持原來的輸出,然後在最後添加三個額外的字節。 – zedascouves 2013-03-01 09:58:34
爲什麼要鏈接到pastebin? – 2013-02-28 19:41:22
嗨@Fredrik,我明白它看起來不合適,但我是新來的stackoverflow,並不能迅速找出如何逃避「'」字符。 – yahe 2013-03-01 09:51:24
我不認爲tail命令接受像'BBB'這樣的額外參數。至少在HP-UX中。 – zedascouves 2013-03-01 11:00:25