shell文件处理awk
系统提供了两个待处理文件a.txt
和b.txt
,其中文件 a.txt
中的部分内容如下:
Hello
My Name is Alice
What is your name
I am Bob
I came from China
Where are you from
Oh my God
文件 b.txt
中的部分内容如下:
Alice is a good boy
Bob is a nice man and he is one of my best friend
God bless you
将文件 a.txt
中每一行的最后一个单词作为集合 1
;将文件 b.txt
中每一行的第一个单词作为集合 2
;请使用 shell
语言编写程序,输出包含在集合 1
但不包含在集合 2
的所有元素。
注意事项
禁止使用echo
手动输出或类似的方法手动输出差集。
# NR==FNR 第一个参数b.txt # set[$1] 以第一列单词为索引的数组 # !(NR==FNR) 不是第一个参数b.txt 也就是a.txt # $NF in set 最后一列单词包含在数组中 awk ' {if (NR==FNR) set[$1] = $1} {if(!(NR==FNR) && !($NF in set)) {print $NF}} ' b.txt a.txt
Hello
name
China
from
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!