Как я могу добавить столбец и перезаписать .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?
Вероятно, самое близкое, которое Вы собираетесь получить, должно использовать 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
Вы можете использовать сортировку с флагом 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