PhrozenCrew Posted March 21, 2019 Share Posted March 21, 2019 Здравейте, Трябва ми команда, която да листва в конзолата имена на файлове (с целия път), които са по-дълги от 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 More sharing options...
netrootbg Posted March 21, 2019 Share Posted March 21, 2019 Използваш грешната команда. Когато искаш да ти покаже само дадени резултати се използва grep. https://unix.stackexchange.com/questions/207504/find-files-whose-name-is-4-characters-long Това ще ти свърши работа. Само минимално трябва да модифицираш за да отговаря на твоите нужди. Link to comment Share on other sites More sharing options...
PhrozenCrew Posted March 21, 2019 Author Share Posted March 21, 2019 Светна ми! Благодаря! Мисля, че в случая нямам нужда от регулярни изрази, иначе бих ползвал perl вместо grep. Не знам защо винаги поценявам awk, а с този език се работи толкова лесно. Ей ми го решението: find $PWD | awk 'length>200 {print length "\t" $1}' И вади точно, каквото ми трябва. Link to comment Share on other sites More sharing options...
Antares Posted April 23, 2019 Share Posted April 23, 2019 Не мога да кажа за другите, но лично аз рядко ползвам awk, щото... като прекарам дни в четене и use case-ове, за да си докарам нещо, което ми трябва и... минат месеци и забравя всичко Иначе, че е невероятно мощен инструмент няма две мнения. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.