比方說「文本文件」包含以下內容:擊:文本文件分割成詞與非字母數字字符作爲分隔符
lorem$ipsum-is9simply the.dummy text%of-printing
而且要打印在單獨一行上的每個字。 但是,單詞應該不僅由空格定義,而且由所有非字母數字字符定義。所以結果應該是這樣的:
lorem
ipsum
is9simply
the
dummy
text
of
printing
我怎樣才能做到這一點使用Bash shell?
一些注意事項:
這不是一門功課的問題。
簡單的情況下,單詞應該只由空格確定,很容易。只是寫:
for i in `cat textfile`; do echo $i; done;
會做的伎倆,並返回:
lorem$ipsum-is9simply the.dummy text%of-printing
對於由非字母數字字符分割的話我已經看到了使用IFS環境變量(下面的鏈接解決方案),但我想避免使用IFS有兩個原因:1)它需要(我認爲)將IFS設置爲一個非字母數字字符的長列表。 2)我覺得它很醜陋。
這裏有兩個相關的Q &當我發現
How do I split a string on a delimiter in Bash?
How to split a line into words separated by one or more spaces in bash?
完美,這正是我之後。謝謝! (對不起,我沒有足夠的聲望來投票回答你的答案) – Sv1 2010-09-24 23:03:52
@ Sv1:你可能很快就會獲得很高的聲望。我把你的問題投給了你,因爲你記錄了你想要的內容以及你所做的所有研究。 – grok12 2011-06-26 18:00:29
如果你有十進制數? – Leyu 2012-03-20 06:49:17