Различие между головой и хвостом

Почему там различие между значением ЦИФРЫ в head -c и tail -c?

Я разъясню то, что я имею в виду со следующими командами:

$ echo "words" | tail -c +1
words
$ echo "words" | tail -c +2
ords
$ echo "words" | head -c -1
words$ echo "words" | head -c -2
word$

Первая команда ничего не делает.
Вторая команда удаляет первую букву.
Третья команда удаляет новую строку.
Последняя команда удаляет последние 2 символа включая новую строку.

То итак, почему действительно направляется, удаляет 2 байта при использовании -c и хвост только один. Это похоже на некоторое реальное несоответствие или является там базовым значением?

4
задан 5 October 2019 в 16:10

1 ответ

Цитирование man tail:

используйте-c +NUM для вывода запуска с ЦИФРЫ байта каждого файла

Цитирование man head:

- c (…) [-] ЦИФРА
с продвижением '-', печатают все кроме последних ЦИФРОВЫХ байтов каждого файла (…)

Логика с

tail -c +1

должен распечатать все от числа байта 1, т.е. первый байт, в то время как с

head -c -1

это должно распечатать все кроме последнего 1 байт.

6
ответ дан 1 December 2019 в 09:19

Другие вопросы по тегам:

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