linux - 在 Linux 中将行从一个文件复制到另一个文件,不包括注释
问题描述
如何在不打开源文件和目标文件的情况下在 Linux 中将行从一个文件复制到另一个文件,并且在复制行时需要排除注释。
我不想复制第一个文件中的注释并且文件位于不同的位置
解决方案
假设文件中的注释行包含#
在每行的开头,以下sed
命令将删除这些行:
$ sed '/^#/d' path/to/input-file > path/to/output-file
如果您的文件还可以包含在 之前带有空格的行#
,则以下sed
命令将删除以零个或多个空格或制表符(以任何顺序)开头的行,后跟一个井号 ( #
) 字符:
$ sed '/^[ \t]*#/d' path/to/input-file > path/to/output-file
如果您的文件还包含包含代码后跟注释的行,则以下sed
命令应该有效:
$ sed -e '/^[ \t]*#/d' -e 's/#.*$//' path/to/input-file > path/to/output-file
推荐阅读
- python - 使用命名空间和 ElementTree 在 Python 3 中生成 XML 文档
- java - 检测到 RecyclerView 不一致。无效的视图支架适配器位置b - 在某些设备上崩溃
- android - 没有 runBlocking 的协程返回值
- javascript - 在点击框上显示像抽屉一样的滑块
- windows - 如何在 Windows 中使用“dir”命令根据上次更新时间对文件进行排序
- machine-learning - Logistic正态分布可以使用高斯的混合吗
- angular - 为什么我的 Angular 路由将域 url 部分视为段?
- excel - Excel VBA:双击时单元格颜色变化
- ibeacon - 已解决 - Android 信标库 - 搜索时间长
- python - AttributeError:类型对象“汽车”没有属性“速度”