regex - perl 正则表达式查找并替换为 bash 中的变量

标签 regex bash perl command-line

我有这个正则表达式:'src=\d',它匹配文件中以数字开头的所有 src 属性。我需要将它存储在一个变量中,切掉 src= 并从那里写入一个新的 $string ,并将 \d 连接到它: $字符串。 $d。是否可以使用单个命令行仅将 \d 存储在变量中?如何在 Perl 命令行中使用 cut 和变量?可能吗?

perl -pi -w -e 's/src="\d+/src="http:\/\/website.com\/\d+/g’ file.tsv 

最佳答案

我不太确定你的意思,但我认为你想要这样的东西,其中 () 括号存储数字,而 $1 将其替换回来.

perl -pi -w -e 's/src="(\d+)/src="http:\/\/website.com\/$1/g’ file.tsv

您可以通过为 s/// 操作选择不同的分隔符(例如 s{}{})来避免所谓的“倾斜牙签综合症”

perl -pi -w -e 's{src="(\d+)}{src="http://website.com/$1}g’ file.tsv

关于regex - perl 正则表达式查找并替换为 bash 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552460/

相关文章:

windows - 在 Unix/Linux 平台上运行的 Perl 脚本是否可以创建 Windows 快捷方式?

python - 字符串替换问题

java - 无法使用 Java 和 Regex 打印文件中的单词

ruby - shell 脚本 > ruby

arrays - 错误的数组下标

bash - 如何递归遍历目录树并仅查找文件?

Python 的“Look-And-Say” 正则表达式

bash - $PATH 中的波浪号字符 ('~' )? (例如 : PATH ='~/bin' :/usr/bin:/bin)

python - 是否有可能像 perl 的左值或 python 中的 lisp 的 setf?

arrays - 如何在 perl 中传入数组索引的名称?