LINUX.ORG.RU

Удаление строки из файла - Bash

 


0

1

Добрый день коллеги,

Есть файлы file1.txt, file2.txt file3.txt, fileN.txt содержимое файлы одинаково см. ниже :

02,644759034,,,,900087487,A904454566,20171204180501,,0,,3A01,,,904454566,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547E90D01E7D9, 01,644759035,,,,904454566,A900087487,20171204180501,,15,,3A01,,,900087487,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547E90D01E7D9, 02,644759036,,,,905661201,A901705270,20171204180501,,0,,3A01,,,901705270,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547DD0D01E73C, 01,644759037,,,,901705270,A905661201,20171204180501,,34,,3A01,,,905661201,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547DD0D01E73C, 02,644759038,,,,903999282,A900999801,20171204180501,,0,,3A01,,,900999801,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547D00D01E679, 01,644759039,,,,900999801,A903999282,20171204180501,,123,,3A01,,,903999282,,,00,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547D00D01E679,

Стоить задача удалить те строки из файла которые значение выделенным жирными шрифтами является «0».. Или же копировать строки на другом файле c таким же названием т.е (file1.txt, file2.txt file3.txt, fileN.txt) которые значение выделенным жирными шрифтами на строке Больше 0 (> 0)..

Не подскажите как это реализовать на BASH ? Буду благодарен за каждый ответь..



Последнее исправление: Pinkbyte (всего исправлений: 2)

А написать по-нормальному тег сил не хватило?

Пишите свой вариант и спрашивайте конкретную проблему, тут не job, чтобы вам решали вашу путанную задачу полностью.

vodz ★★★★★
()

Не трать своё и чужое время - отчисляйся и иди в дворники.

anonymous
()

q, просто q:

$ q --delimiter=, "select * FROM ./2.csv WHERE c10<>'0'"
1,644759035,,,,904454566,A900087487,20171204180501,,15,,3A01,,,900087487,,,0,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547E90D01E7D9,
1,644759037,,,,901705270,A905661201,20171204180501,,34,,3A01,,,905661201,,,0,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547DD0D01E73C,
1,644759039,,,,900999801,A903999282,20171204180501,,123,,3A01,,,903999282,,,0,11,,,,,,,,,,,,,,,,,,,,FFFFFFFFFFFFFF5A2547D00D01E679,

anonymous
()
$ IFS=,
$ <source.csv while read -a REPLY; do if [[ "${REPLY[9]}" != "0" ]] ; then echo ${REPLY[@]}; fi; done
[/done]
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.