我想爲每個可能的3位數字排除/刪除最後一行模式{n} {n} {n} .log。每行以樣本模式「123.log」結尾。刪除最後發生的模式行
樣品輸入文件:
aaaa116.log
a112.log
aaa112.log
a113.log
aaaaa112.log
aaa113.log
aa112.log
aaa116.log
a113.log
aaaaa116.log
aaa113.log
aa114.log
輸出文件:
aaaa116.log
a112.log
aaa112.log
a113.log
aaaaa112.log
aaa113.log
aaa116.log
a113.log
這怎麼可能通過的bash腳本來執行?
那麼,這正確地爲我的示例輸入工作,但出人意料地不適合我的真實數據。我可能錯過了什麼概括這個腳本? '/opt/appname/log/CL_20150820_000218_000_10015.log /opt/appname/log/CL_20150820_001519_000_10013.log /opt/appname/log/CL_20150820_094948_000_10016.log /opt/appname/log/CL_20150820_120048_000_10013.log /選擇/應用程序的名字/日誌/ CL_20150821_000017_000_10013.log /mnt/app/log/CL_20150821_140317_000_10016.log /mnt/log/CL_20150821_140319_000_10012.log /mnt/log/CL_20150821_171141_000_10012.log 到/ mnt /日誌/ CL_20150822_000010_000_10012.log' –
它正在使用所有數字來檢查唯一性,使用'awk'變得更容易的格式。記錄$/{a [++ i] = $ 0; b [$ 0] = $ NF + 0; c [$ NF + 0] = i}'awk -F_'$ NF〜/ [0-9] END {for(n = 1; n <= i; n ++)if(n!= c [b [a [n]]])print a [n]}' – kdhp
固定,工作正常。謝謝。 :) –