【问题标题】:Copy lines containing a specific text from one file to another file [duplicate]将包含特定文本的行从一个文件复制到另一个文件[重复]
【发布时间】:2018-03-07 02:49:33
【问题描述】:

我想将包含 Cmd:[41] 的文件 (file1.txt) 中的所有行复制到另一个文件 (file2.txt)

awk '/Cmd:[41]/' file1.txt > file2.txt

这个命令似乎不起作用。 file2.txt 的大小为 0。但是在 file1.txt 中有几行 包含 Cmd:[41]

我应该使用一些特定的awk 转义字符吗?问题出在[41] 部分。搜索字符串的另一部分似乎工作正常。

【问题讨论】:

标签: regex linux bash awk


【解决方案1】:

您可以通过以下方式更改您的命令,它会起作用:

awk '/Cmd:\[41\]/' file1.txt > file2.txt

说明:

'/Cmd:[41]/' 将匹配包含以下内容的行:Cmd:4Cmd:1,但不会匹配包含字面意思 Cmd:[41] 的行,因为 [...] 在正则表达式中用于定义 字符范围 ,或可以匹配的字符列表,因此您需要通过在它们之前添加\ 来转义它们。

【讨论】:

    猜你喜欢
    • 2013-04-23
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多