小编Dan*_*l_H的帖子

grep regex返回子字符串但排除注释

我想从文件中获取子字符串,但只能从没有感叹号的行(它是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)

但我没有管理.提前致谢!

regex grep

5
推荐指数
1
解决办法
476
查看次数

使用sed合并行并添加逗号

我找到了几个相关的问题,但它们都不符合我的要求,因为我是一个真正的初学者,我无法弄明白.

我有一个包含这样的条目的文本文件,用空行分隔:

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命令行上的任何其他解决方案感到高兴.

bash sed

1
推荐指数
1
解决办法
126
查看次数

标签 统计

bash ×1

grep ×1

regex ×1

sed ×1