我正在做一個目錄清理來檢查我們的測試環境中沒有使用的文件。我有一個所有文件名的列表,這些文件名是按字母順序排列在一個文本文件中的,而另一個文件是我想要比較的。多列文件比較
這是第一個文件是如何設置:
test1.pl
test2.pl
test3.pl
這是一個簡單的,一個劇本每目錄中的所有腳本的行文本文件,我想根據下面的其他文件進行清理的名字。
我想比較的文件是一個選項卡文件,它列出了每臺服務器作爲測試運行的腳本,並且顯然存在許多重複項。我想從這個文件中刪除測試腳本名稱,並將其與另一個文件進行比較,使用uniq
和sort
,以便我可以用diff
這個文件來查看哪些測試腳本沒有被使用。
該文件是設置爲這樣:
server: : test1.pl test2.pl test3.pl test4.sh test5.sh
有一些線具有較少和一些具有更多。我的第一個衝動是製作一個Perl
腳本來分割線條,並將它們推入列表中,如果它們不在那裏,但看起來完全沒有效率。我不是經驗awk
,但我認爲有不止一種方法來做到這一點。任何其他想法來比較這些文件?
聽起來像'comm'的工作,但您需要先進行一些預處理,以便每行列出一個文件名,而不是當前的格式。但是一旦你有兩個文件列表,'comm'可以告訴你哪一行在列表中,或者兩者都有。 – twalberg
@twalberg我可以很容易'剪掉'非腳本列。你的意思是將文件名分割到各自的行嗎?那麼我會使用'uniq'。儘管你有我的想法。 – squiguy
我無法弄清楚你正在嘗試做什麼。我們沒有長時間告訴我們爲什麼你創建了一個文件,只需向我們展示你想要比較的2個文件(如果這就是你正在做的),你想從比較中得到的輸出以及爲什麼那將是預期的產出。 –