Как сохранить имя файла, в котором сейчас читается * .jpg, в команде rm * .jpg? [закрыто]

Я хочу использовать имя файла, которое в настоящее время используется *. Как получить имя файла?

-1
задан 14 February 2018 в 02:23

3 ответа

Если Вы хотите использовать звездообразный символ * обычно используемый в качестве подстановочного знака в ударе для выбора нескольких файлов необходимо заключить имя файла в кавычки или выйти * с обратной косой чертой \. Пример:

$ touch '*.jpg'
$ touch 'mypicture.jpg'
$ ls
'*.jpg'   mypicture.jpg
$ rm '*.jpg'
$ ls
mypicture.jpg

Можно также использовать тот же сценарий с \*.jpg вместо '*.jpg'.

1
ответ дан 31 October 2019 в 00:40

*.jpg расширится до каждого .jpg файла в текущем каталоге. Если Вы выполняетесь rm *.jpg, все те файлы будут удалены. Расширение оболочки подстановочного знака * не хранит результаты как отдельные переменные или дает Вам способ сослаться на отдельные результаты в наборе расширения.

Если Вы хотите воздействовать на каждый файл, подобранный выражением с подстановочными знаками, можно хотеть использовать для цикла. Используя цикл может присвоить имя файла переменной, которую Вы выбираете на каждом выполнении цикла. Например:

for file in *.jpg; do
   echo "$file"
done

Будет echo каждый из файлов, подобранных *.jpg. Можно, конечно, использовать намного более сложные команды в цикле, включая другие условные операторы такой как if операторы.

0
ответ дан 31 October 2019 в 00:40

Показать все файлы, обозначенные *.jpg тип:

ls *.jpg

Команда rm *.jpg удалит все эти файлы.

0
ответ дан 31 October 2019 в 00:40

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

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