免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 皇家救星
打印 上一主题 下一主题

ksh怎么让echo不解释\n和\t等转义字符? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-03-04 13:03 |只看该作者

回复 #8 blackold 的帖子

我的也是ksh啊 真奇怪

Korn Shell and Enhanced Korn Shell in AIX 5L Version 5.3 System User's Guide: Operating System and Devices.

论坛徽章:
0
12 [报告]
发表于 2009-03-04 14:47 |只看该作者
kch很麻烦???

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
13 [报告]
发表于 2009-03-04 15:11 |只看该作者
是这个意思吗?

15:12:24 root@ST-FREE:[/]#echo awk -F \| '{s+=$'$2'}END{printf("\\t%.2f\\n", s);}' $1   
awk -F | {s+=$}END{printf("\t%.2f\n", s);}
15:12:39 root@ST-FREE:[/]#

论坛徽章:
0
14 [报告]
发表于 2009-03-04 18:19 |只看该作者
awk -F \| '{s+=$1'}END{printf("\t%.2f\n", s);}' file

其实是希望结果是这样

论坛徽章:
0
15 [报告]
发表于 2009-03-04 22:07 |只看该作者
原帖由 皇家救星 于 2009-3-4 18:19 发表
awk -F \| '{s+=$1'}END{printf("\t%.2f\n", s);}' file

其实是希望结果是这样

看命令,是要做到可以通过参数来控制计算file文件中对应某一列的和并输出?
awk就可以了,为什么还要echo呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
16 [报告]
发表于 2009-03-04 23:41 |只看该作者
原帖由 皇家救星 于 2009-3-4 18:19 发表
awk -F \| '{s+=$1'}END{printf("\t%.2f\n", s);}' file

其实是希望结果是这样


道理不都一样吗?
加几个“\”不就可以了?

论坛徽章:
0
17 [报告]
发表于 2009-03-05 08:47 |只看该作者
很难控制啊 

1 要对所有有可能被转义的符号都做处理
2 要对'和"做特殊处理

这样写起脚本来比较麻烦

所以希望echo不要转义 这样才好做

论坛徽章:
0
18 [报告]
发表于 2009-03-05 08:52 |只看该作者
原帖由 cooljean2008 于 2009-3-4 22:07 发表

看命令,是要做到可以通过参数来控制计算file文件中对应某一列的和并输出?
awk就可以了,为什么还要echo呢?

这个命令是写在脚本里面的,我是希望在执行之前打印接下来执行的是什么命令,让执行脚本的人心中有底

但是这样命令比较多,手工处理比较麻烦

想找一个简单的方法,快速将这条命令行打印出来

输入:
awk -F \| '{s+=$'$2'}END{printf("\t%.2f\n", s);}' $1   
输出:
awk -F \| '{s+=$1'}END{printf("\t%.2f\n", s);}' file

论坛徽章:
0
19 [报告]
发表于 2009-03-05 08:54 |只看该作者
我现在对每条命令都做人工处理,改成

echo "awk -F \| '{s+=\$$2'}END{printf(\"%.2f\\\\n\", s);}' $1"

这样倒是可以满足,但是这个规律比较复杂, 想不到怎么用脚本实现比较方便

论坛徽章:
0
20 [报告]
发表于 2009-03-05 11:48 |只看该作者
原帖由 cooljean2008 于 2009-3-5 10:42 发表

用户输入2个参数,第一个为文件名,第二个为列号,然后打印接下来要执行的(带入参数后的)命令,
不知道是不是这个意思?
vi a.sh:
cat

cmd=$(cat <<__CMD__
gawk -F \| '{s+=$'$2'}END{printf("\t%.2f\n", s);}' $1
__CMD__
)

echo "$cmd"
eval -- "$cmd"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP