У мене є файл ASCII, що містить файлові шляхи, які я читаю, запускаючи:
while read p; do echo $p; done < filelist.txt
Файл містить доріжки файлів із таким малюнком:
./first/example1/path
./second/example1/path
./third/example2/path
Як я можу отримати конкретну частину рядка шляху (від /
до /
), наприклад, мені потрібно отримати висновок, який друкує:
first
second
third
а також
example1
example1
example2
Я впевнений, що є спосіб зробити це за допомогою регулярних виразів sed
, але я не знайомий з цим.
| cut -d/ -f3
в трубі зробило свою справу. Дякую! Це повне командування зараз:while read p; do echo $p; done < filelist.txt | cut -d/ -f3