免费注册 查看新帖 |

Chinaunix

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

请教 Solaris下ksh中的sed \a [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-12 13:29 |只看该作者 |倒序浏览
Solaris 下的ksh脚本
需要在某个文件的某行后添加一些内容
用sed  \a怎么实现?

查了一下,在命令行下分行输入就可以,不知道在脚本里什么实现?

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2009-10-12 13:35 |只看该作者

回复 #1 A4B5 的帖子

脚本里也分行写不就完了么?

论坛徽章:
0
3 [报告]
发表于 2009-10-12 13:37 |只看该作者

回复 #2 ly5066113 的帖子

呵呵,是,刚测错了,不知道哪里弄错了,分行写没成功,以为不行呢
thans!

论坛徽章:
0
4 [报告]
发表于 2009-10-12 13:39 |只看该作者
搞错了
是脚本里分行写的
拷出来执行没问题
但脚本运行会报错
sed: command garbled: /te/a\

论坛徽章:
0
5 [报告]
发表于 2009-10-12 13:42 |只看该作者
# ls -l tmp
-rwxr-xr-x   1 root     root          45 Oct 12 01:39 tmp
# cat tmp
#!/usr/bin/ksh

sed '/te/a
text'   test

# cat test
test
test
# sed '/te/a
text'   test
> text'   test
test
text
test
text
# ./tmp
sed: command garbled: /te/a\
# which ksh
/usr/bin/ksh


测试的代码
请问哪里有问题么?

[ 本帖最后由 A4B5 于 2009-10-12 13:44 编辑 ]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
6 [报告]
发表于 2009-10-12 13:48 |只看该作者

回复 #5 A4B5 的帖子

试试:
sed '/te/a\
text' test

论坛徽章:
0
7 [报告]
发表于 2009-10-12 13:56 |只看该作者
# cat tmp
#!/usr/bin/ksh

sed '/te/a\
text'   test

# sed '/te/a\
text'   test
> text'   test
test
text
test
text
# ./tmp
sed: command garbled: /te/a


原来脚本中用的就是
sed '/te/a\
text'   test
不知道为什么贴到代码里 \ 不见了。。

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
8 [报告]
发表于 2009-10-12 13:57 |只看该作者

回复 #7 A4B5 的帖子

cat -A tmp
贴来看看

  1. 代码最好用code标签
复制代码

论坛徽章:
0
9 [报告]
发表于 2009-10-12 14:03 |只看该作者
  1. # cat tmp
  2. #!/usr/bin/ksh

  3. sed '/te/a\
  4. text'   test
复制代码


Solaris的cat没有-A 选项
usage: cat [ -usvtebn ] [-|file] ...

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
10 [报告]
发表于 2009-10-12 14:11 |只看该作者

回复 #9 A4B5 的帖子

命令行用的什么shell?
如果也是ksh那么估计就是你的脚本是DOS格式的。
如果不是ksh,那么在命令行里切换的ksh下运行试试

没环境没办法测试,shell、sed版本都不同。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP