Групповые строки в одном файле на основе значения столбца

Что мне помогло: воссоздание файловой системы vfat на USB отформатирует диск и удалит все файлы:

umount / mount_point (например, umount / mnt )

mkfs.vfat / name_of_the_partition (например, mkfs.vfat / dev / sdc1 - убедитесь, что вы используете правильный раздел, чтобы не удалять данные с других дисков)

mount / name_of_partition / точка_монтирования (например, mount / dev / sdc1 / mnt )

cd / mount_point

ll (чтобы проверить, что вы находитесь в правильном разделе, и сейчас не должно быть файлов)

1
20.09.2018, 19:40
2 ответа
sort file | awk -F',' '{ sub(/..$/,"**",$2) }1' OFS=','
abc,123**,qwerty,A
abc,123**,qwerty,A
xyz,123**,qwetty,R
xyz,123**,qwetty,R

Если вы хотите изменить разделитель-запятую на табуляцию. вы можете использовать эту команду:

sort file | sed 's/,/\t/g' | awk -F'\t' '{ sub(/..$/,"**",$2) }1' OFS='\t'
abc 123**   qwerty  A
abc 123**   qwerty  A
xyz 123**   qwetty  R
xyz 123**   qwetty  R
0
27.01.2020, 23:31

Чтобы отсортировать файл сначала по столбцу1, затем по столбцу2, затем по столбцу4:

$ sort -t, -k1,1 -k2,2 -k4,4 file
abc,12345,qwerty,A                                                                                        
abc,12389,qwerty,A
xyz,12324,qwetty,R
xyz,12380,qwetty,R

Затем, чтобы скрыть второе поле, вы можете

$ sort -t, -k1,1 -k2,2 -k4,4 file | sed 's/..,/**,/2'
abc,123**,qwerty,A                                                                                        
abc,123**,qwerty,A
xyz,123**,qwetty,R
xyz,123**,qwetty,R
2
27.01.2020, 23:31

Теги

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