私は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
2番目のようなコマンドを使用したいのですが、パスなしでファイル名のみを返すようにします。現在の私の回避策は使用することです
read -r -a TarArray <<< `ls -1 /home/admin/Backup | grep "tar"`
しかし、grepを介してパイプする必要のない解決策を見つけたいと思っています。
何か案は?皆さんありがとう!