regex - First Re 不能为空

标签 regex sed

我写了一小段代码,它从变量中获取正则表达式并将其放入 sed。当我运行脚本时,我得到了这样的东西。

sed: first RE may not be empty

脚本根据变量的规范删除行。变量可以为空。

NR=$1

sed '/'"${NR}"'/d' in.txt > out.txt

我该如何修复它或者我可以使用它的一些更好的功能? :)

最佳答案

您可以使用:

# re is set to $1 or $^ if $1 is not provided
re="${1:-\$^}"

# $^ being an invalid regex will NOT delete anything 
sed "/$re/d" in.txt > out.txt

关于regex - First Re 不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36140813/

相关文章:

R正则表达式从文本文件中提取电视节目名称

正则表达式匹配配置文件中未注释的行并仅从字符串中捕获 IP 地址

linux - 在同一行的两个位置使用 sed 或 awk 从多行中删除模式

linux - 用sed(linux)替换多个文件中的URL(文本)

linux - 如何使用sed将两个字符转换为一个字符

bash - 逐步更改 .csv 文件中的日期和数据单元格

regex - sed:返回最后一次匹配直到文件结束

python - 使用 Python 查找源代码中不在注释内的所有字符串

php - 捕获全局正则表达式搜索中下一次出现之前的所有内容

python - 拆分文本而不删除分隔符