我有一些与某些文件相关的查询。
输入:
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