Jump to content
BulForum.com

Команда, която да листва файлове с по-дълги имена


Recommended Posts

Здравейте,

 

Трябва ми команда, която да листва в конзолата имена на файлове (с целия път), които са по-дълги от 200 символа (примерно). Стигнах до някъде, но не се сещам, как да продължа.

Ето това ми е командата по която работя:

find $PWD | awk '{print length "\t" $0}' | sort

Резултата е какъвто ми трябва:

13      /home/homeuser
17      /home/homeuser/pro
20      /home/homeuser/proba1
21      /home/homeuser/.bashrc
22      /home/homeuser/.inputrc
22      /home/homeuser/.profile
23      /home/homeuser/aloha.txt
27      /home/homeuser/.bash_history
...

Но не се сещам, как да сложа филтър, ако първата колона с числото е по-голяма от 200, да покаже само този ред.

Плийз хелп!

Link to comment
Share on other sites

Използваш грешната команда. Когато искаш да ти покаже само дадени резултати се използва grep.

 

https://unix.stackexchange.com/questions/207504/find-files-whose-name-is-4-characters-long

 

Това ще ти свърши работа. Само минимално трябва да модифицираш за да отговаря на твоите нужди.

 

Link to comment
Share on other sites

Светна ми! Благодаря! Мисля, че в случая нямам нужда от регулярни изрази, иначе бих ползвал perl вместо grep. Не знам защо винаги поценявам awk, а с този език се работи толкова лесно. Ей ми го решението:

find $PWD | awk 'length>200 {print length "\t" $1}'

И вади точно, каквото ми трябва.

Link to comment
Share on other sites

  • 1 month later...

Не мога да кажа за другите, но лично аз рядко ползвам awk, щото... като прекарам дни в четене и use case-ове, за да си докарам нещо, което ми трябва и... минат месеци и забравя всичко :lol:
Иначе, че е невероятно мощен инструмент няма две мнения.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...