如何使用unix(mac OSX)提取模式后面的字符串

时间:2016-05-02 09:47:12

标签: macos unix awk grep

我有这些列和标签分开的文件。

Jun-AP1(bZIP)/K562-cJun-ChIP-Seq(GSE31477)/Homer    12.88%  4926.5  9.08%
Maz(Zf)/HepG2-Maz-ChIP-Seq(GSE31477)/Homer  52.08%  25510.3 47.00%
Bach2(bZIP)/OCILy7-Bach2-ChIP-Seq(GSE44420)/Homer   10.81%  4377    8.06%
Atf3(bZIP)/GBM-ATF3-ChIP-Seq(GSE33912)/Homer    28.73%  13346.9 24.59%
TEAD4(TEA)/Tropoblast-Tead4-ChIP-Seq(GSE37350)/Homer    40.43%  19549.3 36.01%

在第一列中,我想将字符串提取到第一个括号并保持其余列相同。 例如,我需要输出如下所示。

Jun-AP1 12.88%  4926.5  9.08%
Maz 52.08%  25510.3 47.00%
Bach2   10.81%  4377    8.06%
Atf3    28.73%  13346.9 24.59%
TEAD4   40.43%  19549.3 36.01%

谢谢。

2 个答案:

答案 0 :(得分:1)

我会从

开始
sed 's/([^ ]*//'

其中[^ ]中的实际制表符。

答案 1 :(得分:0)

awk '{sub(/\(.*Homer/,"")}{print $1,$2,$3,$4}' file

Jun-AP1 12.88% 4926.5 9.08%
Maz 52.08% 25510.3 47.00%
Bach2 10.81% 4377 8.06%
Atf3 28.73% 13346.9 24.59%
TEAD4 40.43% 19549.3 36.01%