Mam wymaganie, w którym chciałbym pominąć pierwszy wiersz z danych wyjściowych ls -latr "some path"
Ponieważ muszę usunąć total 136
z poniższego wyniku
Napisałem więc, ls -latr /home/kjatin1/DT_901_linux//autoInclude/system | tail -q
który wykluczył pierwszą linię, ale gdy folder jest pusty, nie pomija go. Powiedz mi, jak pominąć pierwszą linię w każdym wyjściu polecenia Linuksa
awk 'NR>1'
sed '1d'
tail
Program może to zrobić:Te
-n +2
środki „start przejazdem w drugim wierszu wyjścia”.źródło
tail
implementacje wymagają do tego-n
flagi, jak wtail -n +2
find . -name . -o -ls -prune
, ale to daje nieco inny wynik.coreutils
tailem, ale został wycofany, a następnie usunięty. Teraz otrzymujesztail: cannot open '+2' for reading: No such file or directory
(coreutils 8.7). Smutne jest to, że inne implementacje nie akceptują-n
...źródło
Jest to szybki sposób hacky:
ls -lart | grep -v ^total
.Zasadniczo usuń wszystkie wiersze zaczynające się od „total”, które na
ls
wyjściu powinny być tylko pierwszą linią.Bardziej ogólny sposób (na wszystko):
ls -lart | sed "1 d"
sed "1 d"
oznacza tylko wypisywanie wszystkiego oprócz pierwszej linii.źródło
grep
filtrów do tego zadania jest generalnie niebezpieczne; może nieoczekiwanie dopasować się do rzeczy.