Linux
linux:更短的“主機”命令輸出
我正在使用 dns 來管理我的虛擬主機。為此,我使用 host 命令查詢我的名稱伺服器以獲取我需要的某些值。例如:
> host -t txt mycl1.vz mycl1.vz.myserver.de descriptive text "1026"
但我只需要
1026
作為沒有喋喋不休的答案。目前我正在使用 sed 將其刪除,例如:| sed -e 's/.*descriptive text "\(.*\)"/\1/'
但這似乎有點“不穩定”,我想知道是否沒有一些命令可以首先給我簡單的輸出?
dig(1)
與+short
標誌一起使用:$ host -t txt google.com google.com descriptive text "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all" $ dig -t txt google.com +short "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"
如果要刪除引號,只需通過以下方式過濾輸出
sed
:$ dig -t txt google.com +short | sed 's/"//g' v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all
正如 dawud 指出的那樣,我的第一選擇是探勘。如果您堅持使用“主機”,則可以將 sed 替換為:
cut -d \" -f 2