这个问题比较水,写一个脚本接收管道的输出
时间:2011-05-16
来源:互联网
今天突然想到好像一直没有写过脚本或者函数接受管道的输出,一下卡壳了。。。
当然函数里面直接这样是可以的,
- function a{
- grep root | awk -F: '{print $NF}'
- }
- cat /etc/passwd | a
作者: minora 发布时间: 2011-05-16
a () {
while read line;do
echo $line
echo $line| grep a | awk -F: '{print $NF}'
done
}
cat /etc/passwd | a
作者: shplpy 发布时间: 2011-05-16
作者: minora 发布时间: 2011-05-16
请问怎么能不忽略空格呢?比如某一行开头有空格
作者: minora 发布时间: 2011-05-16
没明白你的意思啊
作者: shplpy 发布时间: 2011-05-16
你这样read的话,文件某一行第一个字符是空格,输出的结果就和源文件不一样了,我想保留那个空格
比如
AAA
BBB
CCCCC
作者: minora 发布时间: 2011-05-16
那就再把空格加回去……
作者: xiaopan3322 发布时间: 2011-05-16
你这样read的话,文件某一行第一个字符是空格,输出的结果就和源文件不一样了,我 ...
minora 发表于 2011-05-16 21:46
read是以$IFS指定的字符做分隔的,默认的是空格、tab和换行,在read执行前预置一下$IFS。
在while read line;do前加上一行export IFS='\n'即可
作者: shplpy 发布时间: 2011-05-16
哦,多谢
再多问一句,这些环境变量在哪可以查看到?怎么全部读取
作者: minora 发布时间: 2011-05-16
IFS The Internal Field Separator that is used for word splitting after expansion and to split lines
into words with the read builtin command. The default value is ‘‘<space><tab><newline>’’.
- man bash
- search IFS
作者: shplpy 发布时间: 2011-05-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28