我正在尝试修剪大型文本文档中的字符串。它们都以 开头>chr5:
,然后是可变的数字字符串。
例如:>chr5:1264398-1264827
。我想将这些全部缩减为>chr5
。数字序列的长度可能不同,因此我不确定是否可以只缩减 X 个字符并使其适用于文档中每个适用的行。
我努力了
sed -i 's/>chr5*/>chr5/g' file.txt
尝试对以 开头的每一行进行通配符处理>chr5
,但这没有奏效。它似乎什么也没做。我在网上搜索过,但找不到任何与删除可变字符串区域有关的内容。
如果这很重要的话,我正在使用 Mac 终端。如果有什么需要我详细说明的,请告诉我,提前感谢您的帮助。
答案1
你已经接近了,但是*
sed 中的星号(或者更准确地说是 regexp 正则表达式)表示零个或多个前导字符。句号/句点.
表示任何字符,因此如果你运行:
sed -i 's/>chr5.*/>chr5/g' file.txt
它的意思是匹配零个或多个任意字符,并且可能会执行您所期望的操作。