24小时热门版块排行榜    

查看: 825  |  回复: 3

赵家小四

银虫 (初入文坛)

[求助] shell 下join指令求助

遇到了这样一个问题。
编写了一个shell的脚本。里面在调用join指令时遇到了点问题

代码如下
"#!/bin/bash
..
join -a1 -1 1 -t $'\t' -o 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 2.1 2.4 $DIR/{SA}.txt.tmp $DIR/${SB}.coverage.tmp > $DIR/${SA}_${SB}.tmp.txt"
问题出错是在join的-t指令下。在shell脚本里面它把$后面的部分当作变量处理了,所以没有办法这个$作为join指令的-t一部分来执行 所以导致错误
错误是
join: multi-character tab $\\t
所以问题关键是如何识别这个$所代表的正确含义,或者在shell脚本中可以用制表符分割input和output data。
已经试过 “”以及\ 了($前面)
恳求高手帮助。
谢谢

[ Last edited by 赵家小四 on 2013-9-16 at 21:00 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

loop00

木虫 (小有名气)

阿凡达

【答案】应助回帖

建议学perl吧,shell不好用;
#!/usr/bin/perl
my$new_string=join("\t",@array)
坚强面对生活
2楼2013-09-24 11:17:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

赵家小四

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by loop00 at 2013-09-24 11:17:31
建议学perl吧,shell不好用;
#!/usr/bin/perl
my$new_string=join("\t",@array)

,我也是学perl的。但是在shell中的join和perl的join意义是不一样的。
shell 的join是合并文件用的。
不过,谢谢了。
3楼2013-09-29 10:25:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

loop00

木虫 (小有名气)

引用回帖:
3楼: Originally posted by 赵家小四 at 2013-09-29 10:25:07
,我也是学perl的。但是在shell中的join和perl的join意义是不一样的。
shell 的join是合并文件用的。
不过,谢谢了。...

4楼2013-09-30 02:01:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 赵家小四 的主题更新
信息提示
请填处理意见