У меня есть каталог, содержащий множество папок, а также сжатые файлы. Мне нужно сжать папки, которые еще не так (tar -cvzf ...), но не имеют опыта работы со скриптами sh. Может кто-нибудь помочь мне написать такой сценарий, пожалуйста?
@bigTree, выполненный от Вашего терминала следующие команды для наблюдения различия: for dir in */; do echo "${dir%*/}"; done и for dir in */; do echo "$dir"; done.
– Tony03.05.2020, 03:27
2
@RaduRДѓdeanu я должен сжать папки, которые уже являются не так
– Fred03.05.2020, 03:27
3
Это принимает во внимание, что уже существуют смолившие каталоги в папке?
– Tony03.05.2020, 03:27
4
@bigTree ${dir%*/} совпадает с $dir, кроме того, если концы значения с /, та наклонная черта опущена в расширении. * там бессмысленно и не имеет никакого значения, таким образом, это могло бы также быть записано ${dir%/} вместо этого для предотвращения беспорядка. Таким образом, если $dir расширится до foo/, то ${dir%/} расширится до foo.
– Stephen Thomas03.05.2020, 03:28
for dir in */; do echo "${dir%*/}"; done
иfor dir in */; do echo "$dir"; done
. – Tony 03.05.2020, 03:27${dir%*/}
совпадает с$dir
, кроме того, если концы значения с/
, та наклонная черта опущена в расширении.*
там бессмысленно и не имеет никакого значения, таким образом, это могло бы также быть записано${dir%/}
вместо этого для предотвращения беспорядка. Таким образом, если$dir
расширится доfoo/
, то${dir%/}
расширится доfoo
. – Stephen Thomas 03.05.2020, 03:28