免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4257 | 回复: 14
打印 上一主题 下一主题

管道"|"传过去后用什么变量可以获得 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-15 16:14 |只看该作者 |倒序浏览
管道过后用什么变量可以获得,例如
ls -l |? > sdf.txt
?这里是写什么好

我是想把传过去的变量,做一下改动
但我不知道 " | "
这个符号传过去的变量是什么

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2011-04-15 16:21 |只看该作者
不是变量,是本应显示在标准输出的返回值,作为|右面命令的输入

echo "hi man"|rev

论坛徽章:
0
3 [报告]
发表于 2011-04-15 16:44 |只看该作者
回复 2# 昭襄王


不好意思,我是新学的不知道叫什么名
想修改用|传过的“标准输出”
又不知道怎么把“标准输出”当作目标

line=`sed -n '/default:/=' limi`
sed "`expr $line + 1`,`expr $line + 7`d" limi |echo $# #| sed -f `expr $line + 1` a\  '\t fsize = -1 \n\t sdfssf = -1' $0
这是我在做的想去改的,limi是etc/security/limits里的内容
$0我以为可以当作“标准输出”的变量

论坛徽章:
0
4 [报告]
发表于 2011-04-15 16:46 |只看该作者
还有我把上面的例子写错了
ls -l |echo ? > sdf.txt

论坛徽章:
0
5 [报告]
发表于 2011-04-15 17:12 |只看该作者
那就简单点儿说,你这个例子,说实话没看明白
ls -l的内容会传给管道右边,但是管道右边的echo ? 并不需要输入,所以就放弃了。
于是,屏幕上只会显示  ?

重定向到文件中,文件中也就只有  ?

论坛徽章:
0
6 [报告]
发表于 2011-04-15 17:27 |只看该作者
我这里的问号是不知道要写的是什么东西
我想这个问号是能代表"|"传过去的“标准输出”

论坛徽章:
0
7 [报告]
发表于 2011-04-15 19:47 |只看该作者
ls |cat
或者ls|echo *

论坛徽章:
0
8 [报告]
发表于 2011-04-15 19:49 |只看该作者
为啥要echo再修改呢 用|传过去以后可以直接sed修改了吧

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
9 [报告]
发表于 2011-04-15 20:10 |只看该作者
没明白你的意思。管道是把前面的输入作为后面的输出,你是想。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2011-04-16 09:15 |只看该作者
回复 3# woiszzw


    这个例子我没看明白。
只能简单说说,管道,正如其字面意思,就是起一个接力的作用把|左边的处理结果传递到|右边,当作右边那个命令的输入。
比如你想把ls命令得到的文件列表反向保存在一个文件中,可以这样:
ls > tmp.txt
tac tmp.txt > tac_ls.txt
也可以这样:
ls|tac > tac_ls.txt
省略了一个中间文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP