linux - C Shell 子串比较

标签 linux unix awk string-comparison csh

我的数据如下所示:

1xxxxxx file_name1
0xxxxxx file_name2
0xxxxxx file_name3
0xxxxxx file_name4
1xxxxxx file_name5
0xxxxxx file_name6

我只想打印第一列以“1”开头的文件名。

也就是说,

awk '{if($1 contains '1') then print $2}' file.txt

但是,我不知道如何实现比较语法

也许可以使用通配符方法?

awk '{if($1 == "1"*) then print $2}' file.txt

最佳答案

试试这个:

awk '$1~/^1/{print $2}' file.txt

您使用 匹配运算符 (~) 检查第一列 ($1) 以查找以 开头的行1 (/^1/)。如果为真,则打印第二列的操作发生。

关于linux - C Shell 子串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026862/

相关文章:

linux - 我如何知道Linux中的套接字连接(tcp或udp)已经建立了多长时间?

regex - 匹配数字的正则表达式

c - 调用sigaction()时sa_sigaction设置为NULL是什么意思?

linux - Thrift 0.8.0 无法安装在 ./configure

linux - 使用 awk 命令格式化日志

sed - 将匹配的行复制到第二个文件

linux - 文本文件内容自动化

mysql - 查找/删除大数据中的重复项

c - 预处理Linux源代码并保存到另一个目录

linux - 在另一个脚本提示 : No such file or directory 中执行 shell 脚本