我想保留第一个ID,然后用sed删除所有内容。 我的行看起来像
CAM_READ_0623233309 / library_id = CAM_LIB_002149 / sample_id = CAM_SMPL_003380 raw_id = G9ALM7U02F5HAW长度= 383 / IP_notice =?从CAMERA下载的遗传信息可能被认为是丹麦遗传遗传的一部分,丹麦是获得样本的国家。这些信息的用户同意:1)承认丹麦是提供遗传信息的任何国家的原产国,2)如果他们打算使用,请联系CBD网站(http://www.cbd.int/countries/)上确定的CBD联络点用于商业目的的遗传信息。?
我只想要:
CAM_READ_06232333
答案 0 :(得分:1)
捕获特定序列:
sed -r 's/.*(CAM_READ_[0-9]+).*/\1/' input.txt
或
sed -e 's/.*\(CAM_READ_[0-9]\+\).*/\1/' input.txt
捕获前面的所有内容,除了空格字符:
sed -r 's/^(\S+).*/\1/' input.txt
答案 1 :(得分:0)
简洁明了的声明:
sed 's/ .*$//'
命令示例:
echo "CAM_READ_0623233309 /library_id=CAM_LIB_002149 blah blah" | sed 's/ .*$//'
命令示例输出:
CAM_READ_0623233309
现在,当然,如果您在同一个文件中有多个不同类型的行,那么您将无法处理此行。但是,您上面的问题并未表明这一点。