在shell命令之后删除换行符

时间:2011-01-17 06:27:53

标签: linux shell unix scripting command-line


我这里有代码:

#/bin/sh

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

这将创建一个包含当前日期的目录 这里的问题是date命令将在结尾处返回带换行符的日期 在mkdir之后,创建的文件夹将包含换行符 谁知道怎么回事?我需要一个没有换行符的文件夹名称 感谢。

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:2)

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

但是,使用ghostdog74的解决方案,它更简单。