- 論壇徽章:
- 1
|
本帖最后由 惟吾無為 于 2011-04-29 12:33 編輯
終于找到具體原因了, 在改變IFS時(shí), 由于個(gè)人失誤, 得到的IFS居然是空的, 不是MSYS的錯(cuò)...
----------
對文件列表進(jìn)行處理.
find找的, 所以有個(gè)'.' , 想去掉這行, 并把剩下的內(nèi)容按行保存到數(shù)組中.
待處理文件名為fl. 行中有空格.
# cat fl
link
.
dir
file
char dev
block dev
pipe
socket
自以為是地
IFS=$'\n'
filename=($(sed "/^\.$/d" fl))
結(jié)果后來才發(fā)現(xiàn)
${#filename[@]}=1
我想一個(gè)元素保存一行, 而非一個(gè)元素全文保存吶...
期待
filename[1]=link
filename[2]=dir
filename[3]=file
...
就是為'.'的行忽略掉, 其他的按順序依次保存在數(shù)組中.
filename[0]另作他用.
概要:
1, 需要把為'.'的行去掉, 或者不讓find顯示'.'.
2, 把改變后的內(nèi)容逐行保存到數(shù)組各元素中中.
要求方案盡可能簡單.
最好別循環(huán)...
不知awk能否搞定. |
|