2009-10-22 93 views
10

FILE:使用bash讀取一個文件,然後從單詞執行命令提取

hello 
world 

我想用一個腳本語言(BASH)來執行讀取每個WORD命令然後將其插入command

然後循環到列表中的下一個單詞(新單詞上的每個單詞)。 它在到達FILE的末尾時停止。


進展將類似於此:

閱讀來自FILE第一WORD上述

插頭字轉換成命令

command WORD > WORD 
  • 這將它輸出到一個文本文件;用word作爲文件的名稱。

重複此過程,但接着第n個WORD(每個新行)。

終止進程到達FILE以上。

你好:

RESULT OF COMMAND UPON WORD hello 

世界:


以上FILE bash命令的結果

RESULT OF COMMAND UPON WORD world 
+0

沒有 - 它是一個愛好項目從法語動詞的大名單創建所有法語動詞變的列表。 – user191960 2009-10-22 05:55:17

+0

800法語動詞 - > french-conjugator(debian) - >創建變形目錄 - >製作閃存卡 - >當完成後我會發布鏈接(quizet.com)。 – user191960 2009-10-22 05:59:57

+5

@ ghostdog74 - 你怎麼能懷疑我?你一直在幫我幾天;)在* nix系統下進行文本處理。我想這個問題看起來有點家常 - 但我做到了讓其他人可以通過我的抽象獲益。否則,我可以插上我想要的東西。 – user191960 2009-10-22 06:05:15

回答

24

您可以使用 「for」 循環做到這一點。像..

for WORD in `cat FILE` 
do 
    echo $WORD 
    command $WORD > $WORD 
done 
+0

工作完美!如下所示 - 但包含奇數字符(撇號)的文件。應該把這個問題放在這個問題上 - 但我試圖儘可能多地提取它。 – user191960 2009-10-22 06:18:20

14

通常我會問你有什麼試過。

while read -r line 
do 
    command ${line} > ${line}.txt 
done< "file" 
4
IFS=$'\n';for line in `cat FILEPATH`; do command ${line} > ${line}; done 
相關問題