我在文件中有一个模式,如下所示,它可以/不能跨越多行:
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
我尝试过的:
perl -nle '打印而 m/^\s*(\w+)\s+(\w+?)\s*(([\w-0-9,* \s] ))\s {/gm'
我不知道标志在这里的含义,但我所做的只是regex
为模式编写一个并将其插入到模式空间中。如果模式在一行中,这匹配得很好:
abcd25 ef_gh ( fg*_h hj_b* hj ) {
但仅在多行情况下失败!
我昨天开始使用 perl,但语法太混乱了。因此,正如我们的一位同事所建议的那样,我写了一个regex
并将其插入到他提供的代码中。
我希望perl
和尚能在这种情况下帮助我。欢迎替代解决方案。
输入文件 :
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
abcd25
ef_gh
fg*_h
hj_b*
hj ) {
jhijdsiokdù ()lmolmlxjk;
abcd25 ef_gh ( fg*_h hj_b* hj ) {
预期输出:
abcd25
ef_gh
( fg*_h
hj_b*
hj ) {
abcd25 ef_gh ( fg*_h hj_b* hj ) {
输入文件可以有多个模式,这些模式与所需模式的开始和结束模式一致。提前感谢您的回复。