比方說,我在~/.netrc
幾個項目是這樣的:使用awk和zsh來的〜/ .netrc中配置程序讀取數據文件
machine *******************
login *******
password **********
machine *********************
login *****************
password **********
這個劇本,我可以通過填充第一機器塊 配置git ftp
以上:
print "$(awk '/machine/ { skip = !skip; }; skip { print $1" "$2 }' ~/.netrc)" | while read k v
do
case $k in
machine)
print git.config ftp.url $v
;;
login)
print git.config ftp.user $v
;;
password)
print git.config ftp.password $v
esac
done
但是我想能夠,靈活的原因,給這個腳本一個參數是機器 名,因此,只有該塊從上方使用;
如何在讀取~/.netrc
時指示awk
使用該參數並在 下一個機器實例上停止?
編輯:現在我意識到,我甚至還有一個缺陷代碼,因爲它是,因爲:跳過開關,每個第二個機器塊將被讀取,並且我想要一個並且只有一個用於機器名稱匹配用戶提供的 參數。
您不需要捕獲'awk'輸出只是爲了將其打印回標準輸出:'awk'...'|雖然...'也一樣。 – chepner