這裏是我的代碼:簡單awk中bash腳本與UDVs
!/bin/bash
#Basic Syntax - pfc.sh [filename] [keyword] [delimiter]
cat $1 |awk -F $2 '{print $2}' |awk -F $3 '{print$1}'
這個工作過程,然而在第二和第三個變量,需要由單一蜱包圍工作,我不喜歡這是必要。提前致謝。
這裏是我的代碼:簡單awk中bash腳本與UDVs
!/bin/bash
#Basic Syntax - pfc.sh [filename] [keyword] [delimiter]
cat $1 |awk -F $2 '{print $2}' |awk -F $3 '{print$1}'
這個工作過程,然而在第二和第三個變量,需要由單一蜱包圍工作,我不喜歡這是必要。提前致謝。
如何將單個滴答滴加到我的變量中,這樣我的團隊就不必這樣做。
它目前是如何工作的例子:
sh pfc.sh variable1 'variable2' 'variable3'
對不起,沒有變通了點。單引號(不勾號)告訴shell以字面解釋模式。例如,考慮你有'my argument'
,而不用在單引號內包含參數,shell將其解釋爲兩個參數 - my
和argument
。
出於同樣的原因,你的腳本也是有缺陷的。它應該是
cat "$1" |awk -F "$2" '{print $2}' |awk -F "$3" '{print $1}'
# mind the double quotes which prevents word splitting
# And you can't replace double quotes with single quotes as
# variable expansion will not happen inside single quotes.
,當然,「$ 1」可以作爲第一個'awk'的輸入,即'awk'{stuff }'「$ 1」| awk ..''而不是使用'cat'$ 1「|'。祝你們好運。 – shellter
那麼問題是什麼?這段代碼是你所擁有的一個完全複製品嗎? – sjsam
你的意思是''{print $ 2}''部分?這需要單引號,以避免將$ 1和$ 2擴展爲相應的位置參數。單引號字符串按字面處理,而雙引號字符串可以有變量和參數擴展。 – dramzy
沒有打印部件是好的,我的問題是當您使用awk -F時,您需要圍繞您的輸入的單個打勾,我不希望我的用戶必須輸入。 – Nua