Удалить новую строку после команды оболочки - PullRequest
3 голосов
/ 17 января 2011


У меня есть здесь код:

#/bin/sh

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

Это создаст каталог с текущей датой.
Проблема здесь в том, что команда date вернет дату ссимвол новой строки в конце.
После mkdir созданная папка будет содержать символ новой строки.
Кто-нибудь знает, как это сделать?Мне нужно имя папки без символа новой строки.
Спасибо.

Ответы [ 2 ]

6 голосов
/ 17 января 2011

зачем вам передавать его на xargs?Не делай ненужных

mkdir $(date "+%m%d%y_%H%M%S_")
2 голосов
/ 17 января 2011

Причина включения новой строки в том, что вы использовали опцию -0, которая заставляет xargs использовать нулевой байт (ASCII 000) в качестве границы слова. Новые строки затем включаются как часть слов. Удаление -0 заставляет xargs использовать пробел (включая новую строку) в качестве границы, тем самым обрезая его.

Однако, используйте решение ghostdog74, оно проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...