shell脚本的参数$1 $2 $3 $4跟awk筛选域的awk '{print $3,$1}'冲突了。如何解决呢 20

比如我想用shell脚本生成查看文件,并用awk重新筛选排列比如查看文件a中含有a的那一列123197188299275264cata|grep1|awk'{print$... 比如我想用shell脚本生成查看文件,并用awk重新筛选排列
比如查看文件a中含有a的那一列
1 2 3
1 9 7
1 8 8
2 9 9
2 7 5
2 6 4
cat a | grep 1 | awk '{print $2,$1}'后得到
2 1
9 1
8 1

但我想弄个简单的脚本实现chakan 1即可得到上面的结果。chakan 2得到
2 1
9 2
7 2
6 2

但脚本里面定义的参数冲突了。请问怎么解决
#!/bin/bash
cat a | grep $1 | awk '{print $2,$1}'
展开
 我来答
yss624_
2015-09-17 · TA获得超过4.7万个赞
知道大有可为答主
回答量:9775
采纳率:77%
帮助的人:2455万
展开全部

没什么冲突呀。awk使用单引号,shell是不解释$1 $2 的。


匿名用户
2015-09-17
展开全部
用双引号而不是单引号。
追问
也不对啊。这样执行结果
比如chakan 1
还是不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式