добавление пустой первой строки внутри файла csv

Я ввожу данные в csv путем «echo» – некоторые значения в другой csv.

Я пробовал эхо "", а в следующей строке эхо "значения", но я получаю прерывистые пустые строки ..

  • Сравните два файла с четырьмя столбцами
  • Как преобразовать мои текстовые файлы (каждый из которых содержит пару имени пользователя + пароль) в CSV, чтобы импортировать их в KeePass через bash (cygwin)
  • CSV - сохранить только определенные записи
  • Удалить строки из файла в зависимости от строк, найденных в другом файле
  • Отличный способ SQL-запроса нескольких CSV-файлов?
  • Является ли «кошка» встроенной оболочкой или внешней программой?
  • Мне нужна пустая строка только с самого начала ….

  • Добавлять один и тот же текст во многие файлы, используя cat или echo?
  • diff два больших файла CSV (каждый 90 ГБ) и вывод на другой csv
  • Добавление Echo
  • Почему «эхо» намного быстрее, чем «прикосновение»?
  • печатать дубликаты строк только в полях 1,2 из файла csv
  • переменная echo с содержимым из подстановки команды
  • 3 Solutions collect form web for “добавление пустой первой строки внутри файла csv”

    Есть много способов сделать это. Поскольку вы не объяснили свою проблему ни с какой детализацией, я предполагаю, что вы делаете что-то вроде этого:

    values=$(grep foo csv1.csv) echo "$values" > csv2.csv 

    Во всяком случае, вы, кажется, извлекаете некоторые строки одного CSV-файла и вставляете их в другой. Чтобы добавить пустую строку в начало нового файла csv, выполните одно из следующих действий:

     echo > csv2.csv; grep foo csv1.csv >> csv2.csv 

    Или, если вы уже создали csv2.csv :

     awk 'NR==1{print ""} {print}' csv2.csv > tmpfile && mv tmpfile csv2.csv 

    или

     perl -i -lpe 'print "" if $.==1' csv2.csv 

    или

     sed -i '1 x;p;x;' csv2.csv 

    Используйте sed следующим образом, чтобы вставить пустую строку в начало файла x.txt :

      sed '1 i \ ' x.txt 

    Насколько я понимаю, есть две проблемы. Во-первых, вам нужна пустая строка в начале и вторые, вам не нужны промежуточные пустые строки.

    Первый вопрос

    Для этого вы можете просто сделать echo "" >> filename в начале скрипта.

    Второй вопрос

    Информационная страница эха говорит

     `echo' writes each given STRING to standard output, with a space between each and a newline after the last one. 

    Итак, новая строка, которую вы получаете, связана с предыдущим эхом, которое вы сделали. Например, echo "bulbasaur" >> network.txt вставляет в файл «bulbasaur», а также символ новой строки ( \n ). Итак, когда вы делаете второй эхо, например, echo "charmander" >> network.txt , будет пустая строка между bulbasaur и charmander.

    Чтобы удалить поведение echo в новой echo , используйте echo -n (см. Информацию или справочную страницу эха). Вы можете сделать echo -n "bulbasaur" >> network.txt за которым следует echo -n "charmander" >> network.txt чтобы удалить вставленную новую echo -n "charmander" >> network.txt .

    Linux и Unix - лучшая ОС в мире.