gpt4 book ai didi

bash - 在 if 语句中比较字符串与正则表达式

转载 作者:行者123 更新时间:2023-11-29 09:16:38 25 4
gpt4 key购买 nike

我有文件 test.txt

class c1 {
___________ any text _____________
}
class c2 {
___________ any text _____________
}
class c3 {
___________ any text _____________
}

我编写 bash 脚本来逐行扫描 test.txt 并将每一行与正则表达式进行比较以获取包含类标题但不起作用的行:(

#!/bin/bash
while read line
do
if [[ "$line" =~ "class *\w+" ]]; then
echo $line
fi
done <test.txt

最终目标将文件中的每个类分开

最佳答案

awk 的一种方式

awk '/^class/{p=1;++x}/^}/{p=0;print $0>"file"x}p{print $0>"file"x}' test.txt

输出

$ head file*
==> file1 <==
class c1 {
___________ any text _____________
}

==> file2 <==
class c2 {
___________ any text _____________
}

==> file3 <==
class c3 {
___________ any text _____________
}

关于bash - 在 if 语句中比较字符串与正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17557755/

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