读取文件并复制其对应文件中的每个单词

问题描述 投票:0回答:2

我读了一个带有单词的文件,我必须创建一个包含26个字典文件的目录,如下所示:第一个文件按字母顺序包含每行一个,文本文件中所有以字母A开头的单词;第二个字母B等等...

apple, banana, almond, ...

words.txt

almond
apple

a.txt

banana

b.txt

我写的代码是:

#!/bin/bash

chars=( {a..z} )

for i in chars
do 
    grep '^$i' words.txt > new.txt
    sort new.txt > $i.txt
done

但是我什么也没做。不知道为什么。

sorting unix grep alphabetical
2个回答
0
投票
您想遍历数组的内容。使用

for i in ${chars[@]};


0
投票
您可以尝试类似的方法。请注意,如果您需要一个从a到z的“光标”,则可以直接在for循环中创建它,而无需先进行设置。

#!/bin/bash for i in {a..z} do grep -o "\b$i\w*" words.txt | sort > $i.txt done

© www.soinside.com 2019 - 2024. All rights reserved.