Создать CSV-файл

Создать CSV-файл

Я хочу создать файл с двумя таблицами.

Например:

У меня есть это:

cat 1.log | cut -d: -f 9 | sort | uniq
teste
teste2
teste3

и у меня есть другая команда:

cat 1.log | cut -d: -f 6 | cut -d " " -f2 | sort | uniq

возвращаться:

hello
good
bed

и я хочу создать такой файл:

teste | hello
teste2 | good
teste3 | bed

Как это сделать?

решение1

хотя вы запрашиваете CSV, вы на самом деле запрашиваете файл, разделенный вертикальной чертой

Этого можно добиться с помощью pasteкоманды:

paste -d '|' file1.txt file2.txt 

что даст вам следующий результат:

teste|hello
teste2|good
teste3|bed

in -dвводит pasteвыбранный разделитель

если вам нужно, чтобы результат содержал пробелы вокруг разделителя, например |, то вы можете добавить, sed 's/|/ | /g'чтобы заменить все вхождения |(без окружающих пробелов) на |(с окружающими пробелами с каждой стороны)

paste -d '|' file1.txt file2.txt | sed 's/|/ | /g'

результат:

teste | hello
teste2 | good
teste3 | bed

на всякий случай, если вам нужен файл, разделенный запятыми, то все, что вам нужно будет изменить, это

к-d '|'-d ','


что будет выглядеть так:
paste -d ',' file1.txt file2.txt 

Связанный контент