-2
我有bash腳本,需要用戶輸入將它們存儲在變量中!我使用awk命令來搜索文件中的一些模式:如何讓awk命令在Bash腳本中工作?
#!/bin/bash
echo "Enter Data"
echo "Enter first pattern"
read firstpat
echo "Enter number"
read num1
echo "Enter name"
read name1
echo "Enter second pattern"
read secpat
echo "Enter second number"
read num2
echo "Enter name
read name2
awk '$0 >= "$firstpat $num1:$name1" && $0 <= "$secpat $num2:$name2"' /dir1/file1
一切都在腳本中工作正常,但awk命令不顯示任何結果。如果我在沒有變量的終端中運行相同的awk命令,而不是它的工作文件!
該命令是在它試圖訪問一個awk腳本中shell變量根本就是錯誤的,它不會在終端比它工作更好處理一個文件。如果您正在運行一個在您的終端中運行的命令,那不是那個命令。 awk不是shell,請參閱http://cfajohnson.com/shell/cus-faq-2.html#Q24。 –
@EdMorton在終端中運行無變量! –
那麼這顯然不是相同的命令,爲什麼說它是?像這樣添加紅鯡魚只會讓你的問題變得混亂。您的問題僅僅是陳述真相,而不會導致人們很難找出您遇到的問題並幫助您解決問題。 「爲什麼命令X在Y命令不起作用?」是一個非常不同的問題,從「爲什麼命令Y在環境A中工作而不在環境B中?」。 –