Разрыв строки эха Linux

Обновлено: 21.11.2024

Команду echo можно использовать для печати строк. Стандартное использование — echo firstString secondString . . Кроме того, он предоставляет дополнительные параметры для форматирования вывода.

Злоупотребление эхом

Если вы обнаружите, что собираетесь использовать эхо в ебилде, остановитесь и передумайте. Это почти всегда не нужно.

Прежде всего, для печати сообщений в стандартных сценариях Portage вы можете использовать функции einfo и eerror вместе с соответствующими им функциями, einfon, eerrorn и т. д., которые аналогичны предыдущим, но не будут печатать. завершающая новая строка ( \n ).

Все случаи использования формы echo $ | grep substring просто для проверки, содержит ли содержимое переменной $ substring , или, чаще, echo $ | command устарели, и их следует (и в большинстве случаев можно) использовать как можно реже: для этого без всякой причины требуется дополнительный сеанс оболочки и канал. Раздел "Здесь строки" описывает предпочтительный способ обработки таких случаев.

Здесь строки

Начиная с >=bash-2.05b, были введены так называемые "здесь строки". Используя «здесь строки», вы можете передать содержимое переменной среды на стандартный ввод приложения, используя перенаправление: на самом деле происходит то, что bash расширяет слово и передает результат на стандартный ввод.

Распространенным примером может быть проверка того, содержит ли переменная $ подстроку bar с помощью следующей конструкции: grep bar . Это заменяет устаревшее и более расточительное поведение использования echo $ | полоса grep .

Стандартное использование эха

В стандартных вызовах команда echo без дополнительных параметров выводит аргументы, переданные на стандартный вывод, разделенные пробелом и заканчивающиеся символом новой строки ( \n ).

Если нужно исключить завершающий символ новой строки, можно передать параметр -n, например: echo -n "без завершающей новой строки" .

Специальные символы, такие как символы табуляции ( \t ), символы новой строки ( \n ), символы возврата каретки ( \r ) (т. е. для перевода новой строки из формата DOS в формат Unix) и любой другой символ ASCII, указанный в его кодовом значении. ) можно передать команде echo с параметром -e. Например, чтобы вывести три строки, каждая на разных строках, в одной команде echo, используйте: echo -e "первая строка\nвторая строка\nтретья строка" .

Другие escape-последовательности и дополнительные параметры для команды echo доступны на справочной странице bash(1).

Вопросы или комментарии?

Авторское право (C) Gentoo Authors 2001-2021
Gentoo является товарным знаком Gentoo Foundation, Inc. Текст этого документа распространяется в соответствии с международной лицензией Creative Commons Attribution-ShareAlike 4.0. Применяются правила использования названия и логотипа Gentoo.

22, 0

У меня есть цикл for, в котором я записываю имя файла в другой файл.
Я хочу записать все имена файлов в другой файл без перевода строки. как я могу избежать получения новых строк с эхом?

11 728, 1 345

2 524 241 

команда printf

Вы также должны изучить команду printf, как показано ниже:

printf "%-8s|%-20s\n" "$zf" "$unique" >>file4

Я записываю в свой файл4 две переменные $zf и $unique с фиксированным интервалом и символом | между двумя полями.

Еще 10 обсуждений, которые могут вас заинтересовать

1. Программирование оболочки и создание сценариев

Как удалить символ новой строки, если он единственный во всем файле?

У меня есть файл, который приходит каждый день, и данные файла выглядят так, как показано ниже. Vi abc.txt a|b|c|d\na|g|h|j\n Иногда мы получаем файл только с символом новой строки в файле, например vi abc.txt \n (8 ответов)

Обсуждение начато: rak Kundra

2. Программирование оболочки и создание сценариев

Удалить последний символ новой строки..

Привет всем. У меня есть текстовый файл, который выглядит следующим образом: abcd efgh ijkl (пробел) Мне нужно удалить только последний (пробел) из файла. Когда я пытаюсь wc -l имя файла, количество поступающих строк составляет только 3, однако в файле есть пустое место. Пробовал такие варианты. (14 ответов)

Обсуждение начато: Sathya83aa

3. Программирование оболочки и создание сценариев

эхо без новой строки

Я пытаюсь сделать индикатор выполнения загрузки с помощью bash, и мне нужно вывести процентное значение, не создавая новую строку и не конкатенируя последнюю строку вывода. Вывод должен заменить последнюю строку вывода в терминале. Это то, что вы видите, когда wget или curl загружают файлы. (6 ответов)

Обсуждение начато: locoroco

4. Программирование оболочки и создание сценариев

замена символом новой строки

У меня есть файл (pema) с одной длинной записью, которую я должен разбить на несколько строк. (5 ответов)

Команда «echo» всегда будет добавлять новую строку, когда вы запускаете ее в командной консоли. Это удобно, когда вы хотите распечатать переменные среды и другую информацию. Он разделяет отдельные фрагменты информации в команде и упрощает их идентификацию.

Но если вы хотите скопировать вывод и использовать его в другой консоли, дополнительная строка может стать проблемой. Кроме того, если вам нужно использовать команду echo, но вы хотите создать файл CSV, невидимая строка может сделать все ваши усилия тщетными.

В этой статье объясняется, как использовать команду «echo» без создания новой строки для разных платформ.

Как выполнить эхо без новой строки в командной строке Windows

Если у вас Windows 10, вы можете получить доступ к командной строке для ввода команд. В некоторых случаях новая строка может вызвать проблемы, особенно если вы хотите скопировать вывод и использовать его вне командной строки.

Итак, если вы введете «echo 1» в качестве команды в приглашении, вы получите 1 в качестве вывода, за которым следует новая строка и еще одна строка ввода.

Но если вы хотите использовать ту же команду без добавления новой строки, вам нужно ввести дополнительные команды после «echo».

Давайте рассмотрим это шаг за шагом:

  1. Одновременно нажмите клавиши Windows и R, чтобы открыть окно "Выполнить".
  2. Введите «cmd» в поле «Открыть».
  3. Введите в командной строке следующую команду:
    echo | set /p=ваш текст или переменная (в данном примере это «1»)
  4. Нажмите «Ввод», чтобы выполнить эту команду.
  5. Вы не должны видеть новую строку между ними.

    Если вы хотите скопировать вывод в буфер обмена, вам придется использовать команду 'echo' с командой 'clip'.
  6. Используйте следующий код:
    echo | установить /p=ваш текст или переменную|клип
  7. Команда clip скопирует текст или переменную в буфер обмена.
  8. Откройте любой текстовый инструмент. Например, Блокнот.
  9. Вставьте в него буфер обмена.
  10. Вы должны увидеть результат в виде строки текста в Блокноте.
  11. Как выполнить эхо без новой строки в Bash

    Bash — это командная консоль в Linux и Mac OS, которая также распознает команду «echo». В случае Bash эхо также создает новую строку в выводе, но вы можете использовать другие шаги, чтобы остановить его.

    Лучший способ удалить новую строку — добавить ‘-n’. Это означает, что не следует добавлять новую строку.

    Если вы хотите написать более сложные команды или отсортировать все в одной строке, используйте параметр «-n».

    Например, если вы введете код:
    для x в $
    do
    echo $x
    done| сортировать

    Команда echo $x рассортирует переменные по отдельным строкам. Это может выглядеть примерно так:
    1
    2
    3
    4
    5

    Поэтому он не будет печатать числа в одной строке.

    Есть способ отобразить вывод в одной строке; вам нужно использовать только команду ‘-n’.

    Это будет выглядеть так:

    Нажмите «Ввод», и вы должны увидеть числа в той же строке.

    Эхо с командой Printf в Bash

    Еще один способ избежать добавления новой строки с помощью команды "echo" — объединить ее с командой "printf".

    Например, воспользуемся следующим кодом:
    NewLine=`printf “n”`
    echo -e “Line1$Line2”

    Не добавляя пробел после «n», вы получите следующий результат:

    Однако, если вы добавите пробел после «n», например:
    NewLine=`printf «n» `
    echo -e «Line1Line2»

    Вы получите следующий результат:
    Строка1
    Строка2

    Если вы хотите, чтобы все введенные данные по какой-то причине печатались в одной строке, вы всегда можете использовать первый пример.

    А как насчет PowerShell?

    Windows PowerShell не создает новую строку с помощью команды echo. Но если вы хотите добавить содержимое непосредственно в текстовый файл через PowerShell, вам следует ввести команду «-NoNewline» после текста или переменной.

    Это чрезвычайно полезно, например, для создания CSV-файла. Или, если по какой-то причине вам нужно, чтобы все ваши переменные оставались на одной строке.

    Обратите внимание, что без команды «-NoNewLine» после достижения конца строки автоматически перемещается на новую строку.

    Эхо Тора

    Теперь, когда вы знаете, как избежать добавления новой строки с эхом, вы можете продолжить кодирование.

    Если вы знаете другие методы выполнения, не забудьте поделиться с сообществом в комментариях. Заранее большое спасибо.

    Как получить новую строку в сценарии оболочки

    Перевод строки используется для обозначения конца строки в скрипте, чтобы отметить начало новой строки, что называется разрывом строки или переводом строки. Точно так же, как вы поместите тег br в сценарии HTML, чтобы перевести последующие символы в новую строку, именно это означает новая строка в сценариях оболочки.

    Здесь вы узнаете:

    • как перейти с одной строки на другую
    • различные способы использования новой строки
    • когда DiskInternals может вам помочь

    Вы готовы? Давайте читать!

    Самый простой способ использовать новую строку в сценарии оболочки

    Существует несколько способов вставки новой строки в сценарий оболочки. Однако вот некоторые из самых простых способов сделать это:

    Пример 1 — новая строка с командой echo

    Приведенный выше скрипт будет печатать

    Пример 2 — новая строка

    Когда вы пишете команду «echo» без добавления каких-либо аргументов, она печатает пустую строку.

    Еще один способ сделать это:

    Пример 3 — новая строка

    Это напечатает:

    Пример 4 — новая строка

    Самый часто используемый символ новой строки

    Если вы не хотите повторно использовать эхо для создания новых строк в сценарии оболочки, вы можете использовать символ \n. \n — это символ новой строки для систем на основе Unix; это помогает переносить команды, идущие после него, на новую строку. Пример ниже.

    Пример 5 — новая строка с символом n

    Использование команды printf в сценарии оболочки

    Вместо эха можно использовать printf. Printf — это альтернативный способ вставки новых строк в сценарии оболочки вместо использования echo –e. Это связано с тем, что флаг -e совместим не со всеми системами.

    Printf совместим со многими системами и более надежен; однако это не соответствует POSIX. Кроме того, вам нужно будет добавить \n в конце, потому что printf не добавляет новые строки автоматически, как это делает echo.

    Пример 6 — новая строка

    Что делать, чтобы открыть файлы Linux из Windows?

    Обычно вы не можете открывать файлы Linux из Windows, но иногда вам может понадобиться срочно получить доступ к файлам в ваших разделах Ext2/3/4. В таких случаях DiskInternals Linux Reader может очень помочь. Этот программный инструмент поможет вам получить доступ к файлам Linux с ПК с Windows. Это бесплатная программа с интуитивно понятным интерфейсом. Используя DiskInternals Linux Reader, вы можете просматривать и получать доступ к файлам Linux, но не можете редактировать их напрямую.

    Этапы чтения файлов Linux в Windows

    Во-первых, вам необходимо установить DiskInternals Linux Reader на свой компьютер.

    DiskInternals Linux Reader - окно установки

    Запустите приложение, чтобы просмотреть все файлы разделов Linux.

    Выберите раздел, в котором вы сохранили файлы Linux.

    DiskInternals Linux Reader — выберите диск Linux

    Просмотреть все файлы Linux; Linux Reader может читать мультимедийные файлы, документы и любые другие файлы в файловых системах (Ext2/3/4, ReiserFS, Reiser4, HFS, HFS+, FAT, exFAT, NTFS, ReFS). Чтобы просмотреть файл, щелкните файл правой кнопкой мыши и выберите «Просмотр в новом окне».

    DiskInternals Linux Reader — откройте диск для просмотра файлов Linux Reader — просмотр любых файлов Linux в Windows

    Теперь скопируйте файлы из раздела Linux в разделы Windows и начните редактирование.

    Читайте также: