gpt4 book ai didi

linux - 使用保存在另一个文件中的标识符列表从主文件中提取信息(子集)

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:55 26 4
gpt4 key购买 nike

我有一个包含名称列表的文件(引用文件 1):

Apple 
Bat
Cat

我有另一个文件(引用文件 2),其中包含名称列表和详细信息引用:

Apple bla blaa
aaaaaaaaaggggggggggttttttsssssssvvvvvvv
ssssssssiiuuuuuuuuuueeeeeeeeeeennnnnnnn
sdasasssssssssssssssssssssswwwwwwwwwwww
Aeroplane dsafgeq dasfqw dafsad
vvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuus
fcsadssssssssssssssssssssssssssssssssss
ddddddddddddddddwwwwwwwwwwwwwwwwwwwwwww
sdddddddddddddddddddddddddddddwwwwwwwww
Bat sdasdas dsadw dasd
sssssssssssssssssssssssssssssssssssswww
ssssssssssssssssswwwwwwwwwwwwwwwwwwwwwf
aaaaaaaaaawwwwwwwwwwwwwwwwwwwwwwddddddd
sadddddddddddddddddd
Cat dsafw fasdsa dawwdwaw
sssssssssssssssssssssssssssssssssssssss
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwssss

我需要使用文件 1 中的名称列表从文件 2 中提取信息。输出文件应如下所示:

Apple bla blaa
aaaaaaaaaggggggggggttttttsssssssvvvvvvv
ssssssssiiuuuuuuuuuueeeeeeeeeeennnnnnnn
sdasasssssssssssssssssssssswwwwwwwwwwww
Bat sdasdas dsadw dasd
sssssssssssssssssssssssssssssssssssswww
ssssssssssssssssswwwwwwwwwwwwwwwwwwwwwf
aaaaaaaaaawwwwwwwwwwwwwwwwwwwwwwddddddd
sadddddddddddddddddd
Cat dsafw fasdsa dawwdwaw
sssssssssssssssssssssssssssssssssssssss
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwssss

是否有使用 Linux (Ubuntu) 执行此操作的任何命令?我是 Linux 新用户。

最佳答案

这可能对你有用(GNU sed):

sed 's#.*#/^&/bb#' file1 |
sed -e ':a' -f - -e 'd;:b;n;/^[A-Z]/!bb;ba' file2

从第一个文件生成一串 sed 命令,并将它们通过管道传输到另一个针对第二个文件运行的 sed 脚本。

第一个文件为每一行创建一个正则表达式,匹配时跳转到一段通用代码。如果没有任何正则表达式匹配,则删除这些行。如果正则表达式匹配,则打印更多行,直到找到新的定界符,此时代码跳转到开头并重复该过程。

关于linux - 使用保存在另一个文件中的标识符列表从主文件中提取信息(子集),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43317731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com