Intereting Posts
Умнее filetransfers чем rsync? Что-то не так с VeraCrypt? Escape whitespace в поиске для pdftk без xargs -J Чтение страниц man в моей системе с гиперссылками в браузере интерфейс wlan, подключенный к сети, но не доступ к локальной или внешней сети Как проверить версию busybox (из busybox)? Как постоянно устанавливать положение и порядок экрана в Fedora 25? mac terminal – как сделать каталог требует SUDO-доступа, чтобы удалить его? задача root cron, требующая перезагрузки, выведет меня из системы, если я использую другого пользователя? Использовать разные версии программы в разных каталогах Не удается подключиться к внешнему серверу RDS TSG из дома Как «объединить» линии, напечатанные несколькими программами, безопасно? mkdir under / cgroup создает файлы вместе с каталогами Как открыть новое окно, используя только один ярлык на экране gnu? Запуск сценария оболочки при неудачных попытках входа в систему X

Удалите строки в упрощенном файле csv (одна новая строка в строке) на основе определенного значения столбца

У меня есть файл csv со следующими заголовками: Interaction_ID, PDB_ID, First_Residue, First_Chain, Second_Residue, Third_Residue, Third_Chain & Pattern:

AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG AM_AUTO_5,1e7k,A33,C,C28,C,G45,C,A-minor Type 0 AGC AM_AUTO_6,1e7k,A33,D,C28,D,G45,D,A-minor Type 0 AAU 

То, что я хотел бы сделать, это удалить строки в файле csv, где Pattern =% Type 0%, а затем распечатать полученный файл csv. Результат должен выглядеть следующим образом:

 AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG 

Как я могу это сделать с помощью awk?

С awk вы можете делать:

 $ awk '$(NF-1)!=0' file AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG 

или используя grep :

 grep -v 'Type 0' file 

Использование awk :

 awk -F, '$9!~/Type 0/{print $0}' file AM_AUTO_1,1cx0,A166,B,C118,B,G129,B,A-minor Type I ACG AM_AUTO_2,1cx0,A165,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_3,1cx0,A166,B,C119,B,G128,B,A-minor Type II ACG AM_AUTO_4,1ddy,A25,A,C21,A,G8,A,A-minor Type I ACG 

Объяснение:

Это вызывает использование awk в качестве разделителя ( -F, ). Если 9-е поле не содержит «Тип 0» ( $9!~/Type 0/ ), напечатайте строку ( {print $0} ).

И решение sed :

 sed '/,[^,]*Type 0[^,]*$/d' file