LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 940|回复: 10

能控制脚本里程序标准输出的位置吗?

[复制链接]
发表于 2006-4-4 15:36:37 | 显示全部楼层 |阅读模式
我想让每行输出都空几个格,就像添加了\t那样的效果。
这样显得非常清楚。
比如脚本里这样写
cat test.sh
#! /bin/sh
echo tar czvf mm.tgz mm
tar czvf mm.tgz mm

运行会是这样
$./test.sh
tar czvf mm.tgz mm
mm/
mm/mm.c
mm/Makefile.suif1
mm/makefile
mm/mm.suif
mm/build.suif1.log

我希望输出结果能变成这样
tar czvf mm.tgz mm
mm/

mm/mm.c

mm/Makefile.suif1

mm/makefile

mm/mm.suif

mm/build.suif1.log
发表于 2006-4-4 15:45:07 | 显示全部楼层
echo -e "tar\tczvf\tmm.tgz\tmm"
yes or no????
回复 支持 反对

使用道具 举报

发表于 2006-4-4 16:08:28 | 显示全部楼层
这个应该不好设置吧,感觉也没有太大的实际意义去那么做,看的挺清楚的啊。
回复 支持 反对

使用道具 举报

发表于 2006-4-4 16:29:13 | 显示全部楼层
#! /bin/sh
echo tar czvf mm.tgz mm
tar czvf mm.tgz mm | xargs -n 1 echo  -e  " \t "
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-4 16:45:37 | 显示全部楼层
非常感谢!实现的确实很巧妙
回复 支持 反对

使用道具 举报

发表于 2006-4-4 18:36:50 | 显示全部楼层
这个是有限制的,行中不能有空格。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-5 06:44:42 | 显示全部楼层
xargs 倒是可以加参数-d定义分割符为'\n',这样就可以把输出的每一行(一行中可以带空格)当做参数显示。
ls -l | xargs -n 1 echo "    "
ls -l | xargs -n 1 -d '\n' echo "    "
这两个效果是不一样的。
回复 支持 反对

使用道具 举报

发表于 2006-4-5 08:58:34 | 显示全部楼层
不过还是有一种极罕见的情况,new line符号也可以包括在合法文件名中。
回复 支持 反对

使用道具 举报

发表于 2006-4-5 09:05:34 | 显示全部楼层

  1. #ls -l | xargs -n 1 -d '\n' echo " "
  2. xargs: invalid option -- d
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-5 09:11:30 | 显示全部楼层
$ xargs --help
Usage: xargs [-0prtx] [--interactive] [--null] [-d|--delimiter=delim]
       [-E eof-str] [-e[eof-str]]  [--eof[=eof-str]]
       [-L max-lines] [-l[max-lines]] [--max-lines[=max-lines]]
       [-I replace-str] [-i[replace-str]] [--replace[=replace-str]]
       [-n max-args] [--max-args=max-args]
       [-s max-chars] [--max-chars=max-chars]
       [-P max-procs]  [--max-procs=max-procs]
       [--verbose] [--exit] [--no-run-if-empty] [--arg-file=file]
       [--version] [--help] [command [initial-arguments]]
Report bugs to <bug-findutils@gnu.org>.

$ xargs --version
GNU xargs version 4.2.27
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表