Bash 如何将不同文本文件中的数据与Shell中的数据进行比较和打印。
如何将不同文本文件中的数据与Shell中的数据进行比较和打印 我使用Bash 如何将不同文本文件中的数据与Shell中的数据进行比较和打印。,bash,shell,unix,join,awk,Bash,Shell,Unix,Join,Awk,如何将不同文本文件中的数据与Shell中的数据进行比较和打印 我使用SSH捕获了三个不同框的NAS详细信息,现在我需要将所有三个文本文件合并到一个文件中,挂载名称应位于第一列,如果三个框中存在相同的挂载,则应以同一行打印,如果挂载仅在框B和框C中显示,则挂载名称应出现在第一列中,框A的列应保持空白 让我们举两个例子df_-BoxA.txt和df_-BoxB.txt和df_-BoxC.txt 例如: $cat df_BoxA.txt /logs/boxA 2G 1.2G
SSH
捕获了三个不同框的NAS
详细信息,现在我需要将所有三个文本文件合并到一个文件中,挂载名称应位于第一列,如果三个框中存在相同的挂载,则应以同一行打印,如果挂载仅在框B和框C中显示,则挂载名称应出现在第一列中,框A的列应保持空白
让我们举两个例子df_-BoxA.txt和df_-BoxB.txt和df_-BoxC.txt
例如:
$cat df_BoxA.txt
/logs/boxA 2G 1.2G 7.7G 62% NAS:/logs/boxA
/data/boxA 2G 1.8G 2.0G 91% NAS:/data/boxA
/apps/boxA 2G 1.4G 5.7G 72% NAS:/apps/boxA
/data/java 1G 67M 9.3G 7% NAS:/data/java
/home/admin 10G 4.6G 54G 46% NAS:/home/admin
/admin/arch 10G 8.3G 19G 83% NAS:/admin/arch
/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist
$cat df_BoxB.txt
/logs/boxA 2G 1.2G 7.7G 62% NAS:/logs/boxB
/data/boxA 2G 1.8G 2.0G 91% NAS:/data/boxB
/apps/boxA 2G 1.4G 5.7G 72% NAS:/apps/boxB
/home/user 40G 29.3G 107G 74% NAS:/home/user1
/data/java 1G 67M 9.3G 7% NAS:/data/java
/home/admin 10G 4.6G 54G 46% NAS:/home/admin
/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist
$cat df_BoxC.txt
/logs/boxA 2G 1.2G 7.7G 62% NAS:/logs/boxC
/data/boxA 2G 1.8G 2.0G 91% NAS:/data/boxC
/apps/boxA 2G 1.4G 5.7G 72% NAS:/apps/boxC
/home/user1 40G 29.3G 107G 74% NAS:/home/user1
/home/admin 10G 4.6G 54G 46% NAS:/home/admin
/admin/arch 10G 8.3G 19G 83% NAS:/admin/arch
/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist
合并所有三个文件后,结果应该如下
$cat result.txt
/logs/boxA 2G 1.2G 7.7G 62% NAS:/logs/boxA 2G 1.2G 7.7G 62% NAS:/logs/boxB 2G 1.2G 7.7G 62% NAS:/logs/boxC
/data/boxA 2G 1.8G 2.0G 91% NAS:/data/boxA 2G 1.8G 2.0G 91% NAS:/data/boxB 2G 1.8G 2.0G 91% NAS:/data/boxC
/apps/boxA 2G 1.4G 5.7G 72% NAS:/apps/boxA 2G 1.4G 5.7G 72% NAS:/apps/boxB 2G 1.4G 5.7G 72% NAS:/apps/boxC
/data/java 1G 67M 9.3G 7% NAS:/data/java 1G 67M 9.3G 7% NAS:/data/java
/home/admin 10G 4.6G 54G 46% NAS:/home/admin10G 4.6G 54G 46% NAS:/home/admin 10G 4.6G 54G 46% NAS:/home/admin
/admin/arch 10G 8.3G 19G 83% NAS:/admin/arch 10G 8.3G 19G 83% NAS:/admin/arch
/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist 10G 8.3G 19G 83% NAS:/apps/dist
/home/user 40G 29.3G 107G 74% NAS:/home/user1
/home/user1 40G 29.3G 107G 74% NAS:/home/user1
我尝试过使用pr
命令,该命令将不符合要求结果的文件组合在一起
还尝试使用sdiff
,但无法获得结果
有谁能给我建议一下,或者给我一些建议
谢谢,
Vardhan尝试通过“sort | uniq”管道过滤“cat”:
这个怎么样:
paste df_BoxA.txt df_BoxB.txt df_BoxC.txt
manpaste
了解更多详细信息
paste df_BoxA.txt df_BoxB.txt df_BoxC.txt