|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請高手指導這個grep的問題
平台:hp-ux
shell:csh
問題:
假如日期為Mar 16
ls -la | grep -v "Mar 16" 可過濾Mar 16日的文件和目錄
然後這個
date|awk '{printf("\"%s%3s\"\n",$2,$3)}'輸出為"Mar 16",
但是這個
ls -la | grep -v `date|awk '{printf("\"%s%3s\"\n",$2,$3)}'`
回車後報
grep: can't open 16" ,這是為什麼?
請大伙提提意見,這個怎麼解決呢。 |
請高手指導這個grep的問題
grep -v `date|awk '{printf("\"%s%3s\"\n",$2,$3)}'`
將在文件16中匹配字串Mar |
請高手指導這個grep的問題
i=`date|awk '{printf("\"%s%3s\"\n",$2,$3)}'`; ls -la | grep -v "$i" |
請高手指導這個grep的問題
ls -la|grep -v "$(date|awk '{printf("%s%3s\n",$2,$3)}')"
--------------------------------------------------------------------------
使用以上這個!
你的
ls -la | grep -v `date|awk '{printf("\"%s%3s\"\n",$2,$3)}'`
實質是執行ls -la | grep -v March 16 |
請高手指導這個grep的問題
人家是csh
set i=`date|awk '{printf("\"%s%3s\"\n",$2,$3)}'`
ls -la | grep -v "$i" |
請高手指導這個grep的問題
改一下waker 和leolein 就行了
set i=`date|awk '{printf("%s%3s\n",$2,$3)}'`;
ls -la | grep -v "$i"
現在還沒明白能grep -v "mar 16",
而i="mar 16",grep -v $i不行
但是i=mar 16,grep -v "$i就行了
grep 對特殊字符的處理,真讓人迷惑 |
請高手指導這個grep的問題
grep -v $i ==> grep -v mar 16 兩個參數
grep -v "$i" ==> grep -v "mar 16" 一個參數
看看置頂的13問 |
請高手指導這個grep的問題
waker? 你可能沒看清我的回復!
-------------------------------------------------------
現在還沒明白能grep -v "mar 16",
而i="mar 16",grep -v $i不行
但是i=mar 16,grep -v "$i"就行了
grep 對特殊字符的處理,真讓人迷惑
--------------------------------------------------------
i="mar 16",grep -v $i 替換後應該是grep -v "mar 16"
為什麼不行呢?我的疑惑在這。 |
請高手指導這個grep的問題
i="mar 16",grep -v $i 替換後應該是grep -v "mar 16"
這個不對拉。
你echo $i
會顯示出
"mar 16"
嗎??不會的,只有
mar 16 ==沒有引號。
i本身不含引號,要求包含,可以
i='"mar 16"'
這樣才會使i的內容包含引號。 |
請高手指導這個grep的問題
請去研究十三問中關於shell解釋命令行的內容 |
| |