打印以所需编号开头的行

打印以所需编号开头的行

我有一些与某些文件相关的查询。

输入:

A=”1n”
List=”R1  7n  3n”  “R2  8n  1n”  “R3  1n  2n”  “R4  2n  3n”  “R5  3n  4n”

在输出中,我希望新列表应以包含信息的字符串开头1n。新名单:

“R2 8n 1n” “R3 1n 2n” “R4 2n 3n” “R5 3n 4n”

请确认我是否可以借助 Shell 命令操作来完成此操作。

答案1

请解释一下什么是引号?平常吗"?如果没有 - 只需将其替换为脚本即可。

如果可以修改file1一下"[^"]1n.*就方便使用了grep

grep -of file1 file2 > file3

如果没有您可以自由使用sed

grep -o "$(sed -E 's/(.)(.*)(.)/\1[^\3]*\2.*/' file1)" file2 > file3

甚至read

grep -o "$(read -r r <file;q=${r%${r#?}};printf "$q[^$q]*${r//["]/}.*")" file2 > file3

相关内容