#!/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
我的文件有文本:我有苹果
问题是在 awk 方法中 $litera = I have apples
我希望它有:I、h、a、v、e 等
我本质上想要的是从 myfile 中取出所有单词并将它们放入 Dictionary 文件夹中,每个单词都在其对应的文件中。
输出:
A.txt : apple
I.txt: I
H.txt: have
其余的将是空的。
最佳答案
这可以使用 gawk
或 awk
来实现,如下所示:
$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
关于linux - 如何在 Linux 中使用 awk 创建字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508781/