早上全部, 我正在編寫一個bash腳本以從給定目錄中的所有文件中提取某些XML標記的值。我決定通過標記每行並返回相關標記來做到這一點。問題在於它沒有正確標記,我無法弄清楚爲什麼。這裏是最小的例子,我能有這樣的重建問題字符串標記化算法不會令牌化
#!/bin/bash
for file in `ls $MY_DIRECTORY`
do
for line in `cat $MY_DIRECTORY/$file`
do
LOCALIFS=$IFS
IFS=<>\"
TOKENS=($line)
IFS=$LOCALIFS
echo "Token 0: ${TOKENS[0]}"
echo "Token 1: ${TOKENS[1]}"
echo "Token 2: ${TOKENS[2]}"
echo "Token 3: ${TOKENS[3]}"
done
done
我猜問題是我的,是與本身使用IFS(即貓操作),在一個循環內IFS擺弄的事,但是這以前從未遇到過問題。
任何想法?
感謝, 裏克
請給ASN例如線從文件和descrivbe如何輸出是不正確 – 2010-10-07 11:20:14
許多初學者錯誤('我在$(ls)',UUOC ......)在這裏。參見[bash陷阱](http://mywiki.wooledge.org/BashPitfalls)。 – Benoit 2010-10-07 11:49:21