【问题标题】:Customization of regular expressions in Linux shellLinux shell中正则表达式的自定义
【发布时间】:2018-01-05 17:36:14
【问题描述】:

我正在研究正则表达式的定义。用命令

file=`echo $2 | sed -e "s/\&/\&/g" \
                    -e "s/</\&lt;/g"   \
                    -e "s/>/\&gt;/g"   \
                    -e "s/'/\&apos;/g"`

shell 脚本访问文件系统中的文件,然后继续编辑该文件。这很好用。但是,它不能用于捕获文件路径连续包含两个空格的文件。

是否可以修改此命令字符,以便将此类特殊情况包含在文件路径中?

【问题讨论】:

标签: linux shell


【解决方案1】:

最简单的做法是在命令行中将文件名放在引号中。例如:

$ script.sh arg "file name"

如果文件名是脚本接收的最后一个参数,您可以做的另一件事是获取所有剩余的命令行参数。例如:

shift # Shifts off the first argument, so $2 is the first one
file=`echo $* | sed ....`

【讨论】:

    【解决方案2】:

    文件名包括。文件路径我已经给出了命令。 程序“set_attributes”使用选项 -w 将值 1 设置为指定文件“文件路径”

    ./set_attributes -u 用户 -p 密码 -w 1 server_2 "文件路径"

    ./set_attributes -u 用户 -p 密码 -w 1 server_2 "/example/文件夹 1/文件名.jpg

    此文件未处理程序“set_attributes”,因为文件路径中有两个空白字符。

    【讨论】:

      猜你喜欢
      • 2015-07-15
      • 1970-01-01
      • 2020-12-29
      • 2016-07-22
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多