Advertisement
Guest User

Untitled

a guest
Aug 29th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.04 KB | None | 0 0
  1. df -h | awk '{c=substr($0, 1, 2); if (p != c && NR != 1){print ""; p = c}; print $0}'
  2. #ИТАК:
  3. df -h # вывод команды
  4. | # передача вывода
  5. awk # классная утилита
  6. ' # начало скобок awk
  7. { # ещё какие-то скобки
  8. c # переменная
  9. =substr # переменной c присвоить результат substr($0, 1, 2). Substr  - SubString - берет первый аргумент ($0 - это вся строка которую авк считал), вырезает из него с 1 по 2 символ (т.е. 1 и 2 символ) и возвращает
  10. ($0, 1, 2) # $0 вся строка, 1 и 2 и, при необходимости больше, для указания конкретных символов в строке, т.е. сравниваем первые 2 символа в строке
  11. ; # следующая команда в однострочном скрипте
  12. if # начало условия
  13. (p # переменная p
  14. != c # не равно переменной c
  15. && # типа и
  16. NR # это текущий номер строки которую авк считал. Нужно чтобы не было пропуска перед первой строкой
  17. != 1) # не равно единице
  18. {print "" # напечатать перевод строки
  19. ; # следующая команда в однострочном скрипте
  20. p = c # затем раз мы в условии - присваиваем переменной p - значение переменной c (чтобы знать на следующем шаге что мы в прошлый раз уже печатали пустую строку для группы строк)
  21. } # ещё какие-то скобки
  22. ; # следующая команда в однострочном скрипте
  23. print $0 # вывести то же что и получили
  24. } # ещё какие-то скобки, на этот раз закрываются
  25. ' # конец скобок awk
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement