добавьте столбец и сохраните файл

Как я могу добавить столбец и перезаписать .csv таблицу

Команда:

$ paste -d ' ' 1.csv <(cut -d ' ' -f1 status.csv)

$ cat 1.csv
1  2
2  5

$ cat status.csv
true
false

Если я использую > 1.csv - удаленный все столбцы в файле 1.csv и сохраняют только первый столбец из файла status.csv, я хочу, добавляет первый столбец из файла status.csv в файл 1.csv и сохраняет файл 1.csv с новым столбцом от из файла status.csv?

0
задан 17 October 2016 в 04:55

2 ответа

Вероятно, самое близкое, которое Вы собираетесь получить, должно использовать sponge утилита от moreutils пакет

DESCRIPTION
       sponge reads standard input and writes it out to the specified file.
       Unlike a shell redirect, sponge soaks up all its input before writing
       the output file. This allows constructing pipelines that read from and
       write to the same file.

Так

paste -d ' ' 1.csv status.csv | sponge 1.csv

, Если Вы спрашиваете это как последующее к Вашему предыдущему вопросу сравнение этих двух таблиц линию за линией , затем Вы могли устранить промежуточное звено status.csv файл, например, путем выполнения

paste 1.csv 2.csv | awk '{print $1, $2, $2 == $4 ? "true" : "false"}' | sponge 1.csv
1
ответ дан 28 September 2019 в 09:37

Вы можете использовать сортировку с флагом unique
Примерно так:

paste -d ' ' 1.csv <(cut -d ' ' -f1 status.csv) | sort -uo 1.csv

-u, --unique
    with -c, check for strict ordering; without -c, output only  the
    first of an equal run

-o, --output=FILE
    write result to FILE instead of standard output
0
ответ дан 28 September 2019 в 09:37

Другие вопросы по тегам:

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