Вас интересует хорошая комбинация ls и cat?

 perl -F: -pale '$"=":"; $_ = "@F[1,5..$#F]"' input-file.txt

 awk -F: '
    {
       a = $2
       for ( i = 6; i <= NF; ++i )
          $(i-5) = $(i)
       NF -= 5
       print a, $0
    }
 ' OFS=":" input-file.txt

 sed -e '
    s/^/:/;s/:/\n/6
    h;s/.*\n//
    x;s/\n.*//
    s/$/:/
    s/^://;s/:/\n/2
    s/^/:/;s/:/\n/2
    s/.*\n\(.*\)\n.*/\1/
    G;s/\n/:/
  '  input-file.txt
3
31.07.2020, 17:58
2 ответа
lcat() {
    ls -alh "$@"
    cat "$@"
}

или с lessвместо cat. Или ( ls -alh "$@"; cat "$@") | less, чтобы увидеть разрешения и все в том же просматриваемом списке.

Мне нужно что-то вроде этого:

lcd() {
    if [ -d "$1" ]; do
        ls -lvF "$1"
    else
        less "$1"
    fi
}

т. е. либо получить список каталогов, либо просмотреть файл. Вероятно, есть какой-то lessинтерфейс, который уже работает lsс каталогами, но тем не менее.

4
18.03.2021, 23:16

На прошлой неделе я копался в файлах, к которым было применено несколько кодировок, и придумал это:

#.. Show characteristics of a file.

Show () {   #:: (filename)

    printf '\n.. About %s.. at %(%T)T\n' "${1}"
    file "${1}"
    wc "${1}"

    [[ $( file "${1}" ) =~ ASCII ]] && {
        cat -vet "${1}" | nl -ba | head -n 4
        cat -vet "${1}" | nl -ba | tail -n 4
    }
    [[ $( file "${1}" ) =~ ASCII ]] || {
        od -A d -t x4d4o1ac "${1}" > "${1}.od"
        ls -l "${1}.od"
    }
}

Это может быть улучшено путем принятия нескольких имен файлов и, возможно, опций -h Nи -t Nдля установки размера простого листинга.

4
18.03.2021, 23:16

Теги

Похожие вопросы