2014-10-31 44 views
0

後,我想實現與管道很簡單的東西:使用管道打開一個文件,它只是創造

第1步:貓輸入1輸入2>輸出

第2步:gedit中輸出

我可以做

cat input1 input2 > output | gedit output 

但是我想知道在這種情況下我怎樣才能省略鍵入輸出文件的名字?所以從貓重定向創建的文件應該是文件gedit打開。 謝謝!

+3

一個';'比'''更適合這裏;你沒有給任何gedit管道。 – 2014-10-31 02:03:16

回答

1

只需爲您的目的定義一個bashfunction(也許在您的~/.bashrc,如果你想永久),例如

editcat() { 
    cat $* > output 
    gedit output 
} 

你可能想使該功能更花哨,通過生成輸出文件作爲mktemp(1)

editcat() { 
    local editemp=$(mktemp) 
    cat $* > $editemp 
    gedit $editemp 
    rm $editemp 
} 

一個臨時文件,但你可能只是使用​​

0

你可以試試

考慮
gedit <(cat file1 file2) 

cat input1 input2 | gedit 
+0

它不起作用,en錯誤信息如'無法打開文件「/ proc/self/fd/11」,而不是常規文件「 – 2014-10-31 02:09:21

相關問題