【发布时间】:2014-10-16 12:07:35
【问题描述】:
我有一个名为 list.txt 的不同名称的列表。我想检查此列表中是否已存在名称。但是,我想说明一些用户输入错误和大写字母(即输入“Jefferson”而不是“Jefferson”,或输入“Muller”而不是“Müller”)。我知道在 grep -i 命令中可以忽略大写字母(见下文)。是否有一个(grep)shell 命令也可以设置最大可能不同的字符数?例如。最多应允许 2 个字符差异,这意味着如果键入“Mueller”,仍会找到“Müller”)。
#!/bin/sh
echo "Type in name"
read prompt
p=/my-directory-to-listfile/
grep -i "$prompt" /$p/list.txt
【问题讨论】:
-
有趣...我认为
grep不允许您这样做。我会选择awk,循环遍历每个字符并保留一个不同字符的计数器。