You почти есть, вы можете попробовать следующее:
#!/bin/ksh -
## $1 = Folder
cd -P -- "$1" || exit
F1="TEST_FILE"
COUNT=$(($(wc -l < output.txt))) || exit
DATE=$(date "+%Y%m%d")
EXTENSION="_01_01.txt"
FILENAME="${F1}_${COUNT}_${DATE}_${EXTENSION}"
cp output.txt "$FILENAME"
Подстановка команд позволяет подставить вывод команды вместо самого имени команды. Подстановка команд должна происходить, если команда заключена следующим образом:
$ (command)
Как сказал @don_crissti, подробнее см. В здесь
Чтобы ответить на ваш вопрос, он не работает, потому что греческие символы не являются латинскими, Unicode-символами и:
В отличие от par , fmt не поддерживает Unicode, ...
https://en.wikipedia.org/wiki/Fmt
Вторая часть вашего вопроса, к сожалению,
Хотя, похоже, появился довольно недавний технический отчет о том, как обернуть Unicode, например Heninger, Unicode Line Breaking Algorithm, 2015-06-01 http://www.unicode.org/reports/tr14/ однако это, похоже, только спецификация, без фактической реализации или упоминания примеров программного обеспечения с практическими рекомендациями. Вы можете попробовать спросить автора по указанному адресу электронной почты.
Поскольку статья в Википедии о fmt
ссылалась на par
, и она была доступна через apt-get
, я решил попробовать ее в опубликованном вами тексте.
Но мне это не удалось, он все еще не завершается так, как вы хотите:
$ echo "Ηαωε α νιψε δαυ" | par 16gr
Ηαωε α
νιψε δαυ
Страница man
была достаточно сложной, что даже автор предупредил, что она: плохо написана для конечного пользователя
, но если вы настроены решительно, вы можете попытать счастья, прочитав его.
fmt
, как таковой, обычно не поддерживает "нелатинские" (в вашем примере, вероятно, UTF-8). Возможно, вы могли бы использовать par
, который делает это.
Интересно, что страницы руководства Solaris и FreeBSD для fmt
очень похожи, намекая на то, что программа не была заметно улучшена с середины 1980-х годов:
par
может быть доступен как пакет для вашей системы. В противном случае его легко скомпилировать, и ее можно найти здесь:
С другой стороны, правильная поддержка UTF-8 в par
отсутствует:
Утилиты Plan 9 обычно поддерживают UTF -8. Вы можете получить их на своем unix-компьютере, установивplan9port
. В macOS вы можете использовать Homebrew
brew install plan9port
, который устанавливает ихfmt
под командой 9
. Вроде ведет себя так, как ты хотел:
$ echo "Ηαωε α νιψε δαυ" | 9 fmt -w 16
Ηαωε α νιψε δαυ
$ echo "Ηαωε α νιψε δαυ" | 9 fmt -w 14
Ηαωε α νιψε
δαυ