我有一个包含多列的类似excel的DAT文件,我计划使用cut
从中投射3列,然后进行各种其他操作(排序行,过滤行等)。脚本看起来像这样:
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 | ...
答案 0 :(得分:2)
如果我正确理解了这个问题,DO SOMETHING HERE
应该是
cat - file2.DAT
这将con cat
enate stdin(从管道接收,cut
的输出)和另一个文件。反过来说,
cat file2.DAT -
-
本身代表stdin或stdout中的几个工具(例如cat
,diff
和tar
)。由于cat
按照您命名的顺序将文件复制到stdout,因此您可以在序列中的任何位置复制stdin。