2013-05-12 28 views
1
#!/bin/bash 
mkdir Dictionary 
for litera in {A..Z}; do 
cd Dictionary 
echo > $litera.txt 
cd .. 
awk '{ 
    for(i = 1; i <= NF; i++) { 
     print $litera; 
     if(match(tolower($i), "^$litera")) { 
      print $i; 
     } 
    } 
}' myfile | sort > Dictionary/$litera.txt 

做 退出0如何在Linux中使用awk創建字典?

MYFILE有文字:I have apples

的問題是,在awk的方法$litera = I have apples

我希望它有:I,H,A,V, e等

我基本上想要的是從myfile中獲取所有單詞,並將它們放在Dictionary文件夾中,每個單詞放在其相應的文件中。

輸出:

A.txt : apple 

I.txt: I 

H.txt: have 

其餘部分將是空的。

回答

1

這可以由使用gawkawk如下工作:

$echo "I have an apple"| gawk -F "" '{print $3}' 
h 

$echo "I have an apple"| awk -F "" '{print $3}' 
h 

$echo "I have an apple"| awk'{split($0,array,"")} END{print array[3]}' 
h