linux – 如何使用sed或awk将两个文件的每一行组合在一起?
发布时间:2020-12-14 01:25:38 所属栏目:Linux 来源:网络整理
导读:我有两个文件.文件A有一个单词列表,每行一个.文件B包含另一个巨大的单词列表,但有些单词很长.我如何使用sed或awk从文件A中取出每一行并将其与文件B中不超过6个字符的每一行组合?理想情况下,它会在新文件中吐出所有结果. 例如: 文件A: coolbeanssad 档案B
我有两个文件.文件A有一个单词列表,每行一个.文件B包含另一个巨大的单词列表,但有些单词很长.我如何使用sed或awk从文件A中取出每一行并将其与文件B中不超过6个字符的每一行组合?理想情况下,它会在新文件中吐出所有结果.
例如: 文件A: cool beans sad 档案B: armadillo snake bread 新文件: coolsnake coolbread beanssnake beanbread sadsnake sadbread 解决方法
与输出顺序不同,但可能有用:
awk ' FNR == NR { words[ $1 ] = 1; next } FNR < NR { if ( length( $1 ) <= 6 ) for ( word in words ) { print word $0 } } ' fileA fileB 输出: coolsnake sadsnake beanssnake coolbread sadbread beansbread (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |