如何提取文件中指定短语后的全部文本?尝试sed未找到可行方案
提取文件特定短语后的所有文本
以下几种方法可以实现从README文件中提取「UserMode instructions」行之后的内容:
使用sed命令
不包含「UserMode instructions」行
运行以下命令,会删除从文件开头到匹配行的所有内容,只保留匹配行之后的部分:
sed '1,/UserMode instructions/d' README
- 解释:
1,/pattern/d表示删除从第1行到第一个匹配pattern的行,剩下的就是目标内容。
包含「UserMode instructions」行
如果需要连目标行一起输出,用这个命令:
sed -n '/UserMode instructions/,$p' README
- 解释:
-n让sed只输出指定内容,/pattern/,$p表示从匹配pattern的行开始,输出到文件结尾的所有内容。
使用awk命令
不包含「UserMode instructions」行
awk的逻辑更直观,通过标记位控制输出:
awk '/UserMode instructions/{flag=1; next} flag' README
- 解释:匹配到目标行时,设置
flag=1并跳过当前行;之后只要flag为1,就输出每行内容。
包含「UserMode instructions」行
去掉next即可连目标行一起输出:
awk '/UserMode instructions/{flag=1} flag' README
内容的提问来源于stack exchange,提问作者Kaspar
相关产品推荐
相关产品推荐

