今天有个需求:需要查找在某个工程下面的所有js文件和vm文件中是否包含某个特定的关键字$a。
自己最直观的想法,使用find实现。
find . -name "*.js" -or -name "*.vm" | xargs grep "\b$a\b"
这里很容易在-or参数后面忘记再写一次-name参数,我开始就是忘记了,导致语法就有问题,linux不认!
后来请教一位同事时,人家给出了直接grep的解法,相当不错,记录一下:
grep "\b$a\b" --include=\*.{js,vm} -r .
这里,--include参数表明需要grep哪类文件,-r表示递归搜索特定的文件夹,千万别忘记最后的那个“点”,用于表明在当前文件夹下搜索。
另外,还有个需求,要做多少关键字被匹配到的记录。其实本质上是需要个shell下的计数器。
不过这个小语法有被我写错了,必须记录一下了,汗。
因为使用的是bash,所以直接使用((i++))做自增最方便了。不过这里的注意,自增变量i在(())双括号中是不用使用变量引用的$符号的,这个被我忽略的地方,也就错在这里了。。。
所以正确的写法类似于下面这样的:
i=0
#in for loop under some condition
((i++))
分享到:
相关推荐
这个过程可能涉及到文件的查找、选择、移动或复制。在这个场景中,我们将使用C++语言来实现这一功能,特别是针对那些指定的、位于多层文件夹结构中的文件。以下是一个详细的步骤和知识点讲解: 1. **文件系统操作**...
在C++编程中,遍历特定文件夹并获取特定扩展名的文件是一项常见的任务,特别是在处理大量数据或进行文件操作时。这个例子中,我们看到一个简单的C++程序,它遍历指定目录下所有扩展名为".jpg"的文件。以下是对该程序...
在C++编程中,遍历特定文件夹并找出具有特定扩展名的文件是一项常见的任务,特别是在处理大量数据或资源的项目中。以下是如何使用C++实现这一功能的详细步骤和相关知识点: 首先,我们需要包含必要的头文件。在这个...
- 实战场景:批量处理某一类文件,例如备份所有文本文件。 - **diff**:比较两个文件的内容差异。 - 示例命令:`diff file1.txt file2.txt` - 作用:显示两个文本文件之间的不同之处。 - 实战场景:检查文件...
总的来说,这个C#程序提供了一种有效的方式,可以在Windows环境下模拟Linux的`grep`命令,方便地在文件或文件夹中搜索特定字符串。通过这种方式,开发者可以轻松地在大量文本数据中定位关键信息,这对于调试、日志...
copy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件 copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制...
文件夹可以嵌套,即一个文件夹内可以包含其他文件夹,形成层级结构,帮助用户更好地管理和查找文件。 自用通常指的是个人使用,不涉及共享或公共访问。在IT领域,这可能指个人电脑上的设置、软件安装或数据存储,...
6. **用户界面**:批量改名工具通常具有直观的用户界面,用户可以通过输入新名称模板、选择文件夹或拖放文件来操作。这种设计使得即使是对编程不熟悉的用户也能轻松使用。 7. **安全性和备份**:在进行批量改名前,...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
6.查找某文件中出现指定字符串的行 .................................................................................... 3 7.查看内存使用情况 ................................................................
10. **调试工具**:在Linux下,gdb是一个常用的调试工具,用于查找和修复程序中的错误。学会使用gdb可以极大地提高开发效率。 综上所述,这个压缩包中可能包含了上述知识点的应用实例,通过阅读和分析这些代码,...
在Linux环境下进行软件开发时,虽然有众多优秀的编辑器可以选择,但对于习惯于集成开发环境(IDE)的开发者而言,缺少一个像样的IDE可能会让编码体验大打折扣。本文旨在通过一系列的设置和插件的安装,将强大的文本...
3. **刷新文件夹**:如果文件夹中的文件没有及时显示出来,可以选择该文件夹,然后选择 Refresh 来刷新文件夹的内容。 以上是 Eclipse 中的一些常用快捷键及其详细介绍,这些快捷键的合理运用可以显著提升开发效率...
通常,一个Python库可能包括`.py`(Python源代码)、`.pyc`(编译后的Python字节码)、`LICENSE`(许可文件)、`README`(说明文档)等文件,但在这个案例中,所有的内容都被打包在一个`.egg`文件里。 使用这样的...