我想创建一个包含两个表的文件。
例如:
我有这个:
cat 1.log | cut -d: -f 9 | sort | uniq
teste
teste2
teste3
我还有其他命令:
cat 1.log | cut -d: -f 6 | cut -d " " -f2 | sort | uniq
返回:
hello
good
bed
我想创建一个这样的文件:
teste | hello
teste2 | good
teste3 | bed
这个怎么做?
答案1
尽管你要求的是 csv,但你实际上是在要求一个管道分隔文件
您可以使用以下命令实现此paste
目的:
paste -d '|' file1.txt file2.txt
将会得到以下结果:
teste|hello
teste2|good
teste3|bed
-d
注入paste
选定的分隔符
如果您需要的结果是像 这样的分隔符周围有空格|
,那么您可以添加将所有(没有周围空格)sed 's/|/ | /g'
的实例替换为(两边都有周围空格)|
|
paste -d '|' file1.txt file2.txt | sed 's/|/ | /g'
结果:
teste | hello
teste2 | good
teste3 | bed
以防万一,如果你想要一个用逗号分隔的文件,那么你需要做的就是
到-d '|'
-d ','
看起来是这样的:
paste -d ',' file1.txt file2.txt