добавление пустой первой строки внутри файла csv
Я ввожу данные в csv путем «echo» – некоторые значения в другой csv.
Я пробовал эхо "", а в следующей строке эхо "значения", но я получаю прерывистые пустые строки ..
- Добавление Echo
- Как использовать мультисимвольный разделитель для расширения массива в bash?
- Печать переменной с обратной косой чертой в тире
- Отправка последовательных команд с помощью сеанса echo vs screen
- Разница между «cat <file.txt» и «echo <file.txt»
Мне нужна пустая строка только с самого начала ….
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
.