Próbuję użyć polecenia grep, aby automatycznie zlokalizować program bibtex w folderze bin użytkownika.Jak zmusić grep do zwracania plików i ignorowania katalogów?
Problem polega na tym, że często zwraca katalog o nazwie bibtex, co oznacza, że skrypt nie uruchamia automatycznie polecenia.
Jak wymusić grep (lub polecenie locate), aby automatycznie ignorować katalogi?
EDIT: prąd polecenia: locate bibtex | grep "/bibtex$" -d skip | head -n1
'-d przeskok' nie wykonuje tutaj żadnej akcji, ponieważ wejście do' grep' to 'stdin'. Możesz skrócić swoje polecenie do 'perl -ne 'chomp; wydrukuj, jeśli! -d'' –
To był mój pierwszy raz, ale nie byłem pewien, czy brakujące żyłki doprowadzą do problemów w późniejszym okresie łańcucha rur. Sądzę, że jestem Nerwowym Nerwem w ten sposób. –
Nawiasem mówiąc, możesz to skrócić do 'perl -lne 'print if! -d'' (chomp nie wydaje się być koniecznym, jeśli to było wtedy' perl -lne' chomp; print if! -d ' '). –