如何使用Bash提取.后到__前的内容并保存至新.txt文件
Bash 提取指定区间文本的解决方案
你可以使用以下任意一种常用命令完成需求,假设你的待处理文件名为raw.txt,提取结果会保存到新文件result.txt中,你可以根据实际情况替换文件名:
方法1:使用awk(最简洁)
awk -F'[.__]' '{print $2}' raw.txt > result.txt
说明:将每行的分隔符设为.或者__,直接输出第二个字段即为.之后、__之前的内容。
方法2:使用sed
sed -n 's/.*\.\([^_]*\)__.*/\1/p' raw.txt > result.txt
说明:通过正则捕获符合要求的区间内容,替换整行后仅输出捕获到的内容。
方法3:使用grep
grep -oP '(?<=\.).*(?=__)' raw.txt > result.txt
说明:利用Perl正则的前后向断言,精准匹配.到__之间的内容,仅输出匹配到的部分。
执行任意命令后,打开result.txt即可看到所有提取结果,例如HUIG、MEIG等内容。
内容的提问来源于stack exchange,提问作者mpaez89
相关产品推荐
相关产品推荐

