Эта проблема, скорее всего, связана с тем, что apk
репозитории не обновляются.
У меня работает нормально.
monitor:~# apk search lighttpd
lighttpd-mod_auth-1.4.45-r1
acf-lighttpd-0.6.0-r2
lighttpd-mod_webdav-1.4.45-r1
lighttpd-1.4.45-r1
lighttpd-doc-1.4.45-r1
lighttpd-dbg-1.4.45-r1
monitor:~# apk add lighttpd
(1/10) Installing libev (4.24-r0)
(2/10) Installing libintl (0.19.8.1-r1)
(3/10) Installing libmount (2.28.2-r2)
(4/10) Installing glib (2.52.1-r0)
(5/10) Installing gamin (0.1.10-r10)
(6/10) Installing db (5.3.28-r0)
(7/10) Installing libsasl (2.1.26-r10)
....
Попробуйте сначала с apk update
.
Символ горизонтальной табуляции — это символ, который по умолчанию переводит курсор на следующий кратный восьми пробелов при выводе.
Пример:
$ printf '1234567*1234567*\na\thello\tthere\n'
1234567*1234567*
a hello there
Как вы можете видеть выше, для каждого символа табуляции курсор перенаправляется на следующий кратный восьми пробелов.
Символ табуляции записывается как \t
на языке программирования C. Печать строки, содержащей \t
с printf
в оболочке или с printf()
в C (и во многих других местах ), приводит к появлению символа горизонтальной табуляции вместо двух символов \
и t
..
В оболочке bash
$'...'
— это специальная «экранирующая строка C». В нем escape-последовательности, такие как\t
(для табуляции )или\n
(для новой строки ), обрабатываются так же, как printf()
в языке C. Это описано в руководстве bash
в разделе "ЦИТАТЫ".
С помощью cut -d $'\t'
вы указываете cut
использовать табуляцию в качестве разделителя при вырезании полей входных данных. Тем не менее, это разделитель по умолчанию , который cut
будет использовать, если вы вообще не используете -d
, поэтому -d $'\t'
не нужен в вашей команде.