Я пишу сценарий bash и хотел бы использовать LS, указав ему путь/*.tar, и вернуть только имена файлов вместо полного пути и имени файла, чтобы передать имена файлов через чтение в массив, ниже показано, что происходит в Терминал:
Если я просто использую LS с каталогом, он возвращает:
admin@linuxbox:~$ ls /home/admin/Backup/
0_BuIndex.txt.backup Backup1376238064.tar Backup1376239611.tar Backup1376241919.tar
Backup1376167035.tar Backup1376238960.tar Backup1376240158.tar Backup1376243097.tar
Backup1376168581.tar Backup1376239110.tar Backup1376241421.tar
Backup1376237070.tar Backup1376239350.tar Backup1376241489.tar
Backup1376237928.tar Backup1376239479.tar Backup1376241608.tar
Давая путь и тип файла, он возвращает:
admin@linuxbox:~$ ls /home/admin/Backup/*.tar
/home/admin/Backup/Backup1376167035.tar /home/admin/Backup/Backup1376239479.tar
/home/admin/Backup/Backup1376168581.tar /home/admin/Backup/Backup1376239611.tar
/home/admin/Backup/Backup1376237070.tar /home/admin/Backup/Backup1376240158.tar
/home/admin/Backup/Backup1376237928.tar /home/admin/Backup/Backup1376241421.tar
/home/admin/Backup/Backup1376238064.tar /home/admin/Backup/Backup1376241489.tar
/home/admin/Backup/Backup1376238960.tar /home/admin/Backup/Backup1376241608.tar
/home/admin/Backup/Backup1376239110.tar /home/admin/Backup/Backup1376241919.tar
/home/admin/Backup/Backup1376239350.tar /home/admin/Backup/Backup1376243097.tar
Я хотел бы использовать команду, подобную второй, но чтобы она возвращала только имена файлов без пути, моя работа сейчас заключается в использовании
read -r -a TarArray <<< `ls -1 /home/admin/Backup | grep "tar"`
но я надеюсь найти решение, которое не требует от меня подключения через grep.
Любые идеи? Спасибо всем!