我有几个大型文本文件,我想对其中的数千条记录进行 grep,这些记录在每条记录的 1 行上都有一个字符串,上面写着“1 name userabc.db”或“1 name xy040101.db”或“1 name abcdfr。 db”或“1 名称 efgh.db”例如。
字符串“userabc.db”等可以在此名称中包含大写字母,如 USERABC.DB、Userabc.db 或 userAbc.db,位于 .db 文件名称中的任何位置。
所以我需要能够在每条记录中搜索并识别这条线,如果有的话,这条线的任何地方都有大写字母。
当我使用 "grep '[1 name ][AZ] ./store.txt" 没有双引号时,我发现:
“1 名称 USERxxx.db”和“1 名称 Xy040101.DB”和“1 名称 Abcdfr.db”和“1 名称 EFGH.DB”,但当大写字母或多个字母从 . db 文件名在有问题的行中。
底线是,当这些字母位于 .db 文件名称中的任何位置时,我需要能够找到所有具有大写字母或多个字母的行,而不仅仅是在开头或所有字母都是大写字母时。
这可以做到吗?也许用 sed 或 awk 做得更好?
谢谢,鲍勃·佩雷斯 (bperez@novell.com)