首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于field=variable的行过滤

基于field=variable的行过滤
EN

Unix & Linux用户
提问于 2020-08-02 16:42:02
回答 1查看 149关注 0票数 1

我希望在第一个字段上过滤等于VAR的值。还有一个类似的问题,这里,它的~解决方案(SOL1)我无法重现。然而,该基于eval (SOL2)工作,但似乎是人为的。我正在寻找一个更像SOL1的解决方案。

代码语言:javascript
复制
$ cat tmp
a   b   c
d   e   f
g   h   i
$ awk '$1 ~ /d/' tmp
d   e   f
$ VAR='d'

SOL1 (失败)

代码语言:javascript
复制
$ awk '$1~VAR' tmp
a   b   c
d   e   f
g   h   i

SOL2 (变通方法)

代码语言:javascript
复制
$ CMD='awk '"'"'$1'"~/$VAR/'"
$ echo "$CMD"
awk '$1~/d/'
$ eval "$CMD" tmp
d   e   f
EN

回答 1

Unix & Linux用户

发布于 2020-08-02 18:24:23

代码语言:javascript
复制
Done by 2 methods

method1:

代码语言:javascript
复制
var="d"
sed -n '/'$var'/p' file

输出

代码语言:javascript
复制
d   e   f

Python

代码语言:javascript
复制
#!/usr/bin/python
import re
var="d"
k=open('ooo','r')
for i in k:
    if var in i:
        print i.strip()

输出

代码语言:javascript
复制
d   e   f
票数 -2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/602525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档