1
我有一個ips或主機名列表,我想將它們與我的數據庫進行比較,我正在嘗試通過命令行執行它,並將其分解。perl命令行替換
我的IP列表看起來像這樣
10.0.0.1
10.1.1.1
10.2.2.2
hostname-as-12
... etc
我的數據庫是這樣的:
hostname:ip:location:contact
僞代碼是這樣
open iplist
compare to database
replace inline iplist with new information
我想在命令行中執行此操作(如果沒有,那麼要了解更多關於使用它的信息)
目前我的命令行看起來是這樣的:
perl -i.back -pe 's/^(.+)$/$1:`grep $1 /directory/tmp/datbase.txt` | cut -d : -f2`/' iplist
所以後來IPLIST會這樣
10.0.0.1:10.0.0.1
10.1.1.1:10.1.1.1
10.2.2.2: #case not found
hostname-as-12:10.3.3.3
你不需要使用正則表達式也不需要perl,你可以用awk來做到這一點。 – 2014-11-04 00:35:52
你不需要使用awk,你可以用Perl來做到這一點。 – TLP 2014-11-04 01:00:20
你的數據庫文件非常大嗎? – TLP 2014-11-04 01:00:42