shell - UNIX中的`grep -m 1`命令是什么意思
问题描述
我用谷歌搜索了这个命令,但没有。
grep -m 1 "\[{" xxx.txt > xxx.txt
但是我输入了这个命令,没有发生错误。实际上,这个命令也没有结果。
请任何人解释我这个命令的工作?
解决方案
此命令读取和写入同一个文件,但不是从左到右的方式。实际上首先> xxx.txt
运行,在命令开始读取文件之前清空文件。因此没有输出。您可以通过将结果存储在临时文件中然后将该文件重命名为原始名称来解决此问题。grep
PS:一些命令,比如sed
,有一个输出文件选项,它通过不依赖 shell 重定向来解决这个问题。
推荐阅读
- switch-statement - 基于 SelectedValue 的动态标题(卡片视觉)
- java - 如何使用 graphql-spring-boot 向 GraphQL Java 添加检测?
- java - 如何从导航抽屉的片段移动到 Android Studio 上的活动?
- sparql - 使用 Wikidata SPARQL 查找特定单词的同义词
- java - 我阅读了 XML 文档 (JDOM),但在另一台 PC 上运行时出现异常 java.lang.NoClassDefFoundError
- powershell - 如何使用 powershell 中的 foreach 循环将搜索结果存储到表中?
- php - 在 Laravel 的 img 源中显示 google favicon 和 entity
- javascript - Google Api Calendar 清除所有事件
- java - 将 documentReference.getId() 保存在一个变量中以在不同的语句中使用它
- python - 在字典列表中按键分配值时遇到问题