2014-11-25 45 views
0

如何比較和打印來自不同文本文件的數據到Shell中的數據。如何比較和打印來自不同文本文件的數據到Shell中的數據。

我有使用SSH,現在我需要所有的三個文本文件到一個文件,並MOUNT NAME應在第一列,如果出現在同一MOUNT是抓住了三個箱NAS細節他三個箱,那麼它應該在同一行打印,如果MOUNT提出只在BOX_BBOX_C然後MOUNT名應該給出第一列和列Box_A應保持空白

讓我們兩個例子df_BoxA.txtdf_BoxB.txtdf_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 

我嘗試過使用g pr命令是組合不是所需結果的文件。

也嘗試使用sdiff但無法得到結果。

任何人都可以建議我或可以給一些想法。

感謝, Vardhan

回答

0

試圖通過一個過濾 「貓」, 「排序| uniq的」 管:

cat df_BoxA.txt df_BoxB.txt df_BoxC.txt | sort | uniq 
0

如何:

paste df_BoxA.txt df_BoxB.txt df_BoxC.txt 

man paste瞭解更多詳情。

相關問題