【问题标题】:Remove the newline after shell command删除 shell 命令后的换行符
【发布时间】:2011-06-10 06:42:27
【问题描述】:


我这里有代码:

#/bin/sh

cd ~/Desktop/tmp
date "+%m%d%y_%H%M%S_" | xargs -0 mkdir;

这将创建一个包含当前日期的目录。
这里的问题是date 命令将返回一个末尾带有换行符的日期。
mkdir 之后,创建的文件夹将包含一个换行符。
有人知道该怎么做吗?我需要一个不带换行符的文件夹名称。
谢谢。

【问题讨论】:

    标签: linux shell unix scripting command-line


    【解决方案1】:

    包含换行符的原因是您使用了-0 选项,这使得 xargs 使用空字节(ASCII 000)作为字边界。然后将换行符作为单词的一部分。删除 -0 会使 xargs 使用空格(包括换行符)作为边界,从而将其切断。

    不过,使用ghostdog74的方案,更简单。

    【讨论】:

      【解决方案2】:

      为什么需要将其传递给xargs?不要做不必要的事情

      mkdir $(date "+%m%d%y_%H%M%S_")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-08
        相关资源
        最近更新 更多