繁体   English   中英

在shell命令之后删除换行符

[英]Remove the newline after shell command


我这里有代码:

#/bin/sh

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

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

为什么你需要将它传递给xargs 不要做不必要的事

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM