Например, если есть dir 3:
mkdir 4; cp file 4
dir также можно назвать 3 other text Тем не менее, текст не должен быть в mkdir 4 кроме увеличенного числа. Наибольшее число должно быть обнаружено.
Например, если есть dir 3:
mkdir 4; cp file 4
dir также можно назвать 3 other text Тем не менее, текст не должен быть в mkdir 4 кроме увеличенного числа. Наибольшее число должно быть обнаружено.
Предположим, у вас есть последовательно пронумерованные каталоги, такие как: ' dirnameN ',
где « N » - это число.
Вы можете найти наибольшее число (из родительского каталога),
find . -type d -name dirname\* | sed 's|dirname||' | sort -n | tail -1
Таким образом, вы используете шаблон в именах каталогов, чтобы отфильтровать его (с помощью « sed ») и оставить номер.
Затем вы сортируете численно, чтобы найти последний номер.
После этого вы добавите один к этому и перейдете к следующему каталогу, используя тот же шаблон.
Скажи что-то вроде
dirnamePattern=dirname
lastDirname=11
newDirname=$((lastDirname+1))
newDirname=${dirnamePattern}${newDirname}
даст вам « dirname12 ».
Следующее должно сделать вещь в одной строке:
mkdir $(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1))
Учитывая папки:
1 something
3 other text
some 5 thing
2 test
это создает папку с именем 6 .
Если вы хотите скопировать файл с именем file , просто сделайте что-то вроде этого:
name=$(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1)); mkdir $name; cp file $name