我想从文件中获取子字符串,但只能从没有感叹号的行(它是Fortran中的注释符号)中获取.我更喜欢使用grep(但不是绑定).例如:
infile.txt:
calib_ss/baseline.txt
!calib_ss/base_sharpe.txt
Run Code Online (Sandbox Code Playgroud)
期望的结果:
baseline
Run Code Online (Sandbox Code Playgroud)
我到目前为止:
grep -Po "(?<=/)[^/.]*(?=\.)" infile.txt
Run Code Online (Sandbox Code Playgroud)
返回
baseline
base_sharpe
Run Code Online (Sandbox Code Playgroud)
排除以!开头的行!我想把表达与...结合起来
^[^\!]
Run Code Online (Sandbox Code Playgroud)
但我没有管理.提前致谢!
我找到了几个相关的问题,但它们都不符合我的要求,因为我是一个真正的初学者,我无法弄明白.
我有一个包含这样的条目的文本文件,用空行分隔:
example entry &with/ special characters
next line (any characters)
next %*entry
more words
Run Code Online (Sandbox Code Playgroud)
我想输出合并行,在逗号之间插入逗号,并删除空行.即,示例应如下所示:
example entry &with/ special characters, next line (any characters)
next %*entry, more words
Run Code Online (Sandbox Code Playgroud)
我更喜欢sed,因为我知道它有点,但我也对linux命令行上的任何其他解决方案感到高兴.