正确转义bash脚本中的正斜杠以与sed一起使用

用户名

我正在尝试通过在干燥模式下运行rsync并总结rsync输出中列出的文件的大小来确定在同步两个文件夹时将新复制的文件的大小。

目前,我只能在文件的父文件夹前添加前缀。我发现了如何使用sed为行添加前缀以及如何使用sed进行转义,但是我很难将两者结合起来。

这是我走了多远:

source="/my/source/folder/"
target="/my/target/folder/"
escaped=`echo "$source" | sed -e 's/[\/&]/\\//g'`
du `rsync -ahnv $source $target | tail -n +2 | head -n -3 | sed "s/^/$escaped/"` | awk '{i+=$1} END {print i}'

这是我从bash -x myscript.sh获得的输出

+ source=/my/source/folder/
+ target=/my/target/folder
++ echo /my/source/folder/
++ sed -e 's/[\/&]/\//g'
+ escaped=/my/source/folder/
+ awk '{i+=$1} END {print i}'
++ rsync -ahnv /my/source/folder/ /my/target/folder/
++ sed 's/^//my/source/folder//'
++ head -n -3
++ tail -n +2
sed: -e expression #1, char 8: unknown option to `s'
+ du
80268

任何有关如何正确逃脱的想法将不胜感激。

吉林

实际上,您不必为转义而烦恼/GNUsed手册

这些/字符可以在任何给定s命令中被任何其他单个字符统一替换

例如:

echo 'foobar' | sed -e 's#foo#bar#'

给出输出

barbar

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在用于 sed 替换的 bash 脚本参数中转义正斜杠

来自分类Dev

如何转义变量以与sed一起使用?

来自分类Dev

将pushState与正斜杠一起使用

来自分类Dev

在Bash脚本中将命令行参数和变量与sed一起使用

来自分类Dev

与脚本中的adb logcat一起使用时,sed不会退出

来自分类Dev

AIX脚本中的sed不能与特殊字符一起使用

来自分类Dev

bash脚本:如果与(条件)或[condition]一起使用

来自分类Dev

在Bash脚本中,continue命令如何与嵌入式循环一起使用?

来自分类Dev

将屁与批处理脚本一起使用时的问题。双斜杠和多次出现

来自分类Dev

在Alias中将sed与引号和转义符一起使用

来自分类Dev

MySQLI-允许正斜杠与插入语句一起使用

来自分类Dev

gVim for Windows:如何正确转义将与!start一起使用的文件名?

来自分类Dev

将-e选项与sed一起使用以从脚本运行sed失败

来自分类Dev

与regex一起使用sed从文件中删除文本

来自分类Dev

Vim-一起向前和向后躲避未转义的反斜杠

来自分类Dev

停止在bash变量中转义正斜杠

来自分类Dev

sed bash脚本变量中的转义问号字符

来自分类Dev

与xargs一起使用sed

来自分类Dev

在Haskell中将反斜杠与变量一起使用

来自分类Dev

在Haskell中将反斜杠与变量一起使用

来自分类Dev

Groovy语法不能与反斜杠一起使用

来自分类Dev

将echo -e与反斜杠(\)一起使用

来自分类Dev

Java replaceAll操作如何与反斜杠一起使用?

来自分类Dev

sed中的转义反斜杠字符

来自分类Dev

在Expect命令中使用sed时,转义反斜杠的正确方法是什么?

来自分类Dev

bash-在bash脚本中将getopts与关联数组一起使用

来自分类常见问题

与Gulp一起使用Concat脚本

来自分类Dev

在shell脚本中进行正确的类型转换,以与while循环和模数一起使用

来自分类Dev

转义字符不能与innerHTML一起使用

Related 相关文章

  1. 1

    在用于 sed 替换的 bash 脚本参数中转义正斜杠

  2. 2

    如何转义变量以与sed一起使用?

  3. 3

    将pushState与正斜杠一起使用

  4. 4

    在Bash脚本中将命令行参数和变量与sed一起使用

  5. 5

    与脚本中的adb logcat一起使用时,sed不会退出

  6. 6

    AIX脚本中的sed不能与特殊字符一起使用

  7. 7

    bash脚本:如果与(条件)或[condition]一起使用

  8. 8

    在Bash脚本中,continue命令如何与嵌入式循环一起使用?

  9. 9

    将屁与批处理脚本一起使用时的问题。双斜杠和多次出现

  10. 10

    在Alias中将sed与引号和转义符一起使用

  11. 11

    MySQLI-允许正斜杠与插入语句一起使用

  12. 12

    gVim for Windows:如何正确转义将与!start一起使用的文件名?

  13. 13

    将-e选项与sed一起使用以从脚本运行sed失败

  14. 14

    与regex一起使用sed从文件中删除文本

  15. 15

    Vim-一起向前和向后躲避未转义的反斜杠

  16. 16

    停止在bash变量中转义正斜杠

  17. 17

    sed bash脚本变量中的转义问号字符

  18. 18

    与xargs一起使用sed

  19. 19

    在Haskell中将反斜杠与变量一起使用

  20. 20

    在Haskell中将反斜杠与变量一起使用

  21. 21

    Groovy语法不能与反斜杠一起使用

  22. 22

    将echo -e与反斜杠(\)一起使用

  23. 23

    Java replaceAll操作如何与反斜杠一起使用?

  24. 24

    sed中的转义反斜杠字符

  25. 25

    在Expect命令中使用sed时,转义反斜杠的正确方法是什么?

  26. 26

    bash-在bash脚本中将getopts与关联数组一起使用

  27. 27

    与Gulp一起使用Concat脚本

  28. 28

    在shell脚本中进行正确的类型转换,以与while循环和模数一起使用

  29. 29

    转义字符不能与innerHTML一起使用

热门标签

归档