преобразовать вертикальный текст в горизонтальный с помощью вставки -d или tr

Ядро полностью загружается в оперативную память при запуске и не подкачивается. Ядро не знает и не заботится, откуда оно загружается. Его можно было загрузить из сети, а по tftp качать тяжело.

-1
25.10.2020, 15:13
3 ответа

Из комментариев видно, что вы работаете с файлом, содержащим текстовые данные Windows. Преобразуйте его в текстовый файл Unix, используяdos2unix:

dos2unix fl.txt

Если это текстовый файл Unix, вы можете удалить первую строку файла, содержащую заголовок Data, используя sed 1d fl.txt.

Результирующие строки могут быть преобразованы в столбцы, разделенные пробелами -в одной строке, путем замены всех новых строк пробелами:

sed 1d fl.txt | tr '\n' ' '

Это, однако, будет генерировать вывод, который не завершается символом новой строки.

Вы также можете использовать pasteспособ, аналогичный тому, что вы предлагаете:

sed 1d fl.txt | paste -s -d ' ' -

Здесь команда pasteсгенерирует одну строку, заканчивающуюся символом новой строки.

3
18.03.2021, 22:54

Простой вариант в bash или ksh93:

echo $(<fl.txt)

или:

xargs -a fl.txt

Первые строки можно удалить вот так:

{ head -1 >/dev/null; paste -sd' '; } <fl.txt

Или:

{ head -1 >/dev/null; fmt -100; } <fl.txt

в подоболочке:

(>/dev/null head -1; xargs) <fl.txt
0
18.03.2021, 22:54

С GNU sed

sed '1d; s/\r$//' f1.txt | paste -sd " "

или реализовать часть вставки в sed

sed -n '1d; s/\r$//; H; ${ x; s/^\n//; s/\n/ /g; p }' f1.txt
1
18.03.2021, 22:54

Теги

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