sta*_*z77 4 shell shell-script text-processing
创建具有给定文件常用词的文件列表的最佳方法是什么。例如,如果我有:
$ ls
mainFile file1 file2 file file4
$ cat mainFile
exquisite malicious sentient pulsating
perspicacious one
tawdry fumigate Baryshnikov O'connor
Run Code Online (Sandbox Code Playgroud)
我想列出cwd中包含mainFile. 解决这个问题的最佳方法是什么?
由于每行的字数mainFile不是恒定的,我在寻找解决方案时cut有点棘手。我试图从单词中创建一个字符串,然后将它们|放在grep -l "exquisite|malicious|etc" *命令中。我对任何方法都持开放态度,尽管这可能会更好。
首先为 mainFile 生成索引,
sed 's/ /\n/g' mainFile | sort | uniq > mainFile.idx
然后对固定字符串执行 grep:
grep -F -f mainFile.idx file*