Shell Ksh:在管道内部将一个文件附加到另一个文件的最佳方法
我有一个类似excel的DAT文件,有多个列,我计划使用Shell Ksh:在管道内部将一个文件附加到另一个文件的最佳方法,shell,pipe,ksh,Shell,Pipe,Ksh,我有一个类似excel的DAT文件,有多个列,我计划使用cut从中投影3列,然后执行各种其他操作(排序行、筛选行等)。脚本如下所示: cut -f1,2,3 -d"|" file1.DAT | sort -r | sort -u -k1,1 | sed "s/ //g" | ... > res 我有第二个DAT文件,内容更多;此文件已包含我需要的3列。 问题是,如何将此文件与管道中的第一个文件附加(或前置),以便继续对组合文件进行排序?
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 | ...
如果我正确理解了这个问题,
在这里做点什么
应该是正确的
cat - file2.DAT
这将concat
启用stdin(从管道接收,cut
的输出)和其他文件。反过来说
cat file2.DAT -
-
本身表示多个工具中的stdin或stdout(cat
、diff
和tar
)。由于cat
按照命名顺序将文件复制到标准输出,因此可以在序列中的任何位置复制标准输出