我有一个包含许多文件夹和文件的嵌套文件夹结构。
如何在文件内部搜索某种模式,例如“sampletext”,但只有当文件名与某种模式匹配时(例如,仅在扩展名为 .txt 的文件内搜索),并且最后包含的文件夹名称必须与另一个模式匹配?(例如“data”)。
我确信我可以编写一个 shell 脚本来完成此操作,但我确信存在一些巧妙的单行脚本可以教我新的东西!
提前致谢
答案1
由于你说你有一个嵌套的文件夹结构,我相信*data*/*txt
它不会满足你的需要。我建议
find . –type d –name "*data*" –exec sh –c "grep sampletext /dev/null {}/*.txt" \;
即使在只有一个文件的目录中运行时,也会/dev/null
强制grep
显示文件名.txt
。