gpt4 book ai didi

linux - 复制一个文件夹中多个文件中的文本

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:35 25 4
gpt4 key购买 nike

如何复制 [START] 和 [END] 之间的文本?我认为 sed 是最简单的方法。我尝试使用 grep 但没有看到标记开始位置和结束位置的选项。

最佳答案

如果您想逐行地说,请使用awk:

# prints with [START] and [END] pattern
awk '/\[START\]/{f=1} f{print; if (/\[END\]/) f=0}' yourfile.txt

# prints without [START] and [END] pattern
awk '/\[START\]/{f=1;next}/\[END\]/{f=0}f' yourfile.txt

这里是示例:

Input :

[akshay@localhost tmp]$ cat f
[START]
example 1.1
example 1.1
[END]
a
[START]
example 1.2
example 1.2
[END]
b
[START]
example 1.3
example 1.3
[END]
d

Output :

[akshay@localhost tmp]$ awk '/\[START\]/{f=1} f{print; if (/\[END\]/) f=0}' f
[START]
example 1.1
example 1.1
[END]
[START]
example 1.2
example 1.2
[END]
[START]
example 1.3
example 1.3
[END]

[akshay@localhost tmp]$ awk '/\[START\]/{f=1;next}/\[END\]/{f=0}f' f
example 1.1
example 1.1
example 1.2
example 1.2
example 1.3
example 1.3

OR if your data looks like below then

[akshay@localhost tmp]$ awk '/\[START\].*\[END\]/' f2
[START] example 1.1 example 1.1 [END]
[START] example 1.2 example 1.2 [END]
[START] example 1.3 example 1.3 [END]

[akshay@localhost tmp]$ awk '/\[START\].*\[END\]/{ gsub(/\[START\]|\[END\]/,"");print }' f2
example 1.1 example 1.1
example 1.2 example 1.2
example 1.3 example 1.3

关于linux - 复制一个文件夹中多个文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45998715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com