Перемещение всех файлов в каталоге, игнорируя расширение файла

У меня есть каталог с несколькими изображениями в разных типах файлов (SVG, PNG, JPEG, JPG и GIF), у меня также есть файл TXT, который содержит много имен изображений, но без расширения файла EX:

1664
2048
3m
5asec
6play
7_eleven
7_up
aba_pagum
abc
abouelafia
absolut
accor_hotels
acdc
ace
acer
actimel

Я хочу лосить Pharogh файл и находить изображение в каталоге без расширения и переместить его в новую папку. Для бывшего:

1664 -> move 1664.svg to the new folder
2048 -> move 2048.gif to the new folder

И так далее ..

Что мне удалось придумать, это: (moving.sh)

# Create a directory
mkdir 01_img_exists

# Read text file with image names
cat image_names.txt | while read i; do
    # Move images to folder
   mv ./${i} ./01_img_exists
done

Как я могу переместить файлы, игнорируя расширение?

1
задан 17 March 2021 в 21:18

1 ответ

, Вы очень близки.

mkdir -p 01_img_exists

while read i
  do
    echo mv ./"$i."* ./01_img_exists/
  done < image_names.txt

Попробуйте выполнить указанные выше действия, а затем удалите эхо , если он удовлетворен результатами, чтобы выполнить фактическое перемещение.

  • mkdir -p создаст каталог, если он не существует.
  • «$ i». * будет соответствовать всем именам в файле image _ names.txt плюс что-либо после первого . , т.е. любой внутренний номер.
  • < image_names.txt определяет входной файл для чтения.

Вы можете опустить ведущий ./ и он будет работать нормально.

Примечание:

Количество файлов, переданных mv в качестве аргументов в одной команде, ограничено. Этот предел называется ARG _ MAX . Есть небольшой шанс, что вы можете столкнуться с этим пределом. Однако это маловероятно в вашем случае, учитывая ограниченное число расширений на одно и то же имя файла. Если вы случайно столкнулись с этим ограничением, попробуйте использовать следующий код.

mkdir -p 01_img_exists

while read i
  do
  for f in "$i."*
    do
      echo mv "$f" 01_img_exists/
    done
  done < image_names.txt
1
ответ дан 18 March 2021 в 23:25

Другие вопросы по тегам:

Похожие вопросы: