如何比较和打印来自不同文本文件的数据到Shell中的数据。
我已使用NAS
捕获了三个不同框的SSH
个详细信息,现在我需要将所有三个文本文件合并到一个文件中, MOUNT NAME 应该在第一列,如果三个方框中存在相同的 MOUNT ,那么它应该在同一行打印,如果 MOUNT 仅在 BOX_B 中显示 BOX_C 然后 MOUNT名称应出现在第一列中, Box_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
答案 0 :(得分:0)
尝试过滤" cat"通过"排序| uniq"管:
cat df_BoxA.txt df_BoxB.txt df_BoxC.txt | sort | uniq
答案 1 :(得分:0)
这个怎么样:
paste df_BoxA.txt df_BoxB.txt df_BoxC.txt
man paste
了解更多详情。