r - sub 和 gsub 函数?

标签 r awk substring

我有这个命令:

$ find $PWD -name "*.jpg" | awk '{system( "echo "  $(sub(/\//, "_")) ) }'
_home/mol/Pulpit/test/1.jpg

现在同样的事情,但使用 gsub:
$ find $PWD -name "*.jpg" | awk '{system( "echo "  $(gsub(/\//, "_")) ) }'

mol@mol:~

我想得到结果:
_home_mol_Pulpit_test_1.jpg

感谢您的帮助。

编辑:

我用'echo'来测试命令:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
_home_mol_Pulpit_test_1.jpg _home_pic_Pulpit_test_1.jpg

mol@mol:~

我想得到结果:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
/home/pic/Pulpit/test/1.jpg  _home_pic_Pulpit_test_1.jpg

最佳答案

如果字符串包含多个匹配项,那将不起作用......试试这个:

echo "/x/y/z/x" | awk '{ gsub("/", "_") ; system( "echo "  $0) }'

或更好(如果 echo 不是其他东西的占位符):
echo "/x/y/z/x" | awk '{ gsub("/", "_") ; print $0 }'

在您的情况下,您希望在更改之前复制该值:
echo "/x/y/z/x" | awk '{ c=$0; gsub("/", "_", c) ; system( "echo " $0 " " c )}'

关于r - sub 和 gsub 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10371553/

相关文章:

r - 求解 ODE - 只有正解

R - Shiny 的包裹 - 将情节发送到 Shiny

r - 如何从二项式分布中生成随机数 1 和 2 而不是 0 和 1?

regex - 将文本从一行复制到另一行

bash - 如何使用 cut 命令 -f 标志作为反向

linux - 比较两个文件并在第二个文件中没有值时添加零

bash 子串怪异

python - 如何从以空格结尾的字符串中排除子字符串?

r - 数据框的多个变量之间的相关性

javascript - Amp 中 Json 值的子字符串