2014-12-19 2 views
-1

Я пытаюсь получить все имена файлов из каталога «BlaBla»Получение имен файлов с Баш скрипт

и только из этого каталога без его подразделам directorys

и мне нужны все эти имена без X имена и фамилии Y

и без его пути (только имена файлов themselfs

Я попытался

#!/bin/bash 
find blavla | sort 

, но он дал мне все файлы, включая вложенные папки файлы

и он дал мне полное имя (с путем)

и я понятия не имею, как тростник без сначала X и Y Фамилии

пытался найти в Интернете и читать человека найти, но не не нашли ничего

+1

Используйте Glob: 'файлы = (*)'. Или распечатать их: 'printf '% s \ n' *'. –

+1

не могли бы вы объяснить это немного? – JohnnyF

+1

http://mywiki.wooledge.org/BashFAQ/004 –

ответ

1

Используйте следующую команду:

find . -maxdepth 1 -type f -exec basename {} ';' | \ 
sort | \ 
awk 'BEGIN { X = 2; Y = 2 } { lines[NR] = $0 } END { for (i=1 + X; i<=NR - Y; i++) print lines[i] }' 

Установите X и Y на количество имен файлов, которые вы хотите пропустить в начале и в конце списка соответственно.

+0

exelent, но я все еще получаю полный путь к файлам и как я продолжаю читать первые X и последние Y-файлы? – JohnnyF

+0

@JohnnyF: Я обновил команду только для печати базовых имен без путей. Вы хотите, чтобы первые X и последние файлы Y были в алфавитном порядке? – nwk

0

Попробуйте (заменить Y и X с фактическими значениями):

cd blavla && find . -maxdepth 1 -type f|head -n -Y|tail -n +(X+1)