san*_*206 3 regex bash awk grep
我有一个包含以下内容的文件:
image_0001.jpg 0
image_1212.jpg 0
image_1324.jpg 1
image_1784.jpg 1
image_7867.jpg 10
image_1919.jpg 11
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法来只获取与第二列中的数字相匹配的行:
如果我要求“0”,那么只会得到:
image_0001.jpg
image_1212.jpg
Run Code Online (Sandbox Code Playgroud)
如果我要求“1”,那么只会得到:
image_1324.jpg
image_1784.jpg
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 grep 或 awk 来做到这一点?到目前为止,当我搜索“1”时,我收到了来自 10 和 11 的行
你可以使用awk。
$ awk '$2=="1"{print $1}' file
image_1324.jpg
image_1784.jpg
Run Code Online (Sandbox Code Playgroud)
仅当第 2 列的值恰好为 时,才会打印第 1 列的值1。
或者
$ awk -v var="1" '$2==var{print $1}' file
image_1324.jpg
image_1784.jpg
Run Code Online (Sandbox Code Playgroud)
您可以通过-v参数传递要检查的值。