2013-06-18 68 views
1

我有一個帶多列的excel-like DAT文件,我計劃使用cut來投影它的3列,然後進行各種其他操作(排序行,過濾行等)。該腳本看起來像這樣:Ksh:將一個文件追加到另一個管道內的最佳方式

cut -f1,2,3 -d"|" file1.DAT | 
    sort -r | 
     sort -u -k1,1 | 
      sed "s/ //g" | ... > res 

我有更多的內容第二個DAT文件;這個文件已經有我需要的3列。
問題是,我如何在管道中追加(或預先)第一個文件,以便繼續對組合文件進行排序? (最好不要創建臨時文件)

這種形式有可能嗎?

cut -f1,2,3 -d"|" file1.DAT | 
    DO SOMETING HERE | 
     sort -r | 
      sort -u -k1,1 | ... 

回答

2

如果我理解正確的問題,DO SOMETHING HERE

cat - file2.DAT 

這將精讀cat enate標準輸入(從管道收到的cut輸出)和其他文件。要單獨做的其他方式,

cat file2.DAT - 

-代表幾個工具(catdiff,並tar例如)標準輸入或標準輸出。由於cat以命名順序將文件複製到標準輸出,您可以將標準輸入複製到序列中您想要的任何位置。

+0

有點晚了,但是這個伎倆,非常感謝! – jh314

相關問題