У меня есть несколько файлов .csv
в каталоге под названием mydirectory
. Каждый файл содержит строку, начинающуюся с #GENE_ANNOTATIONS
. Я хочу удалить все строки до этой строки, включая эту строку, плюс одну строку ниже этой строки. Я хочу, чтобы это применялось ко всем файлам и сохраняло их. Есть ли команда unix/awk/perl для этого?Удалить некоторые строки, соответствующие шаблону в нескольких файлах в каталоге
ответ
С GNU СЭД:
sed -i '0,/^#GENE_ANNOTATIONS/{/^#GENE_ANNOTATIONS/{N};d;}' mydirectory/*
Я думаю, что это может не работать так, как предполагалось, поскольку каждый раз, когда выполняются команды sed, две строки будут считаны в пространстве шаблонов. Возможно, вы предполагали, что только последняя строка будет читаться в дополнительной строке, т.е. 'sed -i '1,/^ # GENE_ANNOTATIONS/{/^# GENE_ANNOTATIONS/N; d;}' mydirectory/*' – potong
@potong: Thank вы за этот намек. Я обновил свой ответ и исправил вторую ошибку. Он работает и сейчас, если '# GENE_ANNOTATIONS' является первой строкой. – Cyrus
@potong: Спасибо. Я обновил свой ответ. – Cyrus
Это может работать для вас (GNU СЭД):
sed -ni '/^#GENE_ANNOTATIONS/,$!b;n;n;:a;p;n;ba' mydirectory/*
печатать только строки, которые вы хотите, позволяя переключатель -n
.
Другой вариант:
sed '/^#GENE_ANNOTATIONS/,$!d;x;/./{g;b};x;h;N;d' mydirectory/*
- 1. Как удалить файлы, соответствующие шаблону в каталоге
- 2. JavaScript удалить строки, соответствующие шаблону
- 3. Python Fabric - удалить файлы, соответствующие шаблону в каталоге с пробелами?
- 4. Как удалить папки, соответствующие шаблону в phing
- 5. Удалить подстроки, соответствующие шаблону в таблице MySQL
- 6. удалять строки не соответствующие шаблону
- 7. удалить строки после шаблона в нескольких файлах
- 8. Поиск строки в нескольких файлах в каталоге в UNIX
- 9. Как удалить все строки, соответствующие шаблону из набора файлов?
- 10. (Hibernate) ищет строки, соответствующие шаблону
- 11. Git строки обвинения, соответствующие строке в нескольких файлах
- 12. Как напечатать строки, соответствующие шаблону в Perl?
- 13. Показать все строки, соответствующие шаблону в vim
- 14. Получить все строки, соответствующие шаблону в тексте
- 15. Подсчитать узлы, соответствующие шаблону строки в XML
- 16. Регулярные выражения: Получить все соответствующие строки, соответствующие шаблону
- 17. удалить строки, соответствующие более чем одному шаблону, используя sed
- 18. Как найти все строки, соответствующие шаблону в linux
- 19. Как мне добавить только строки, соответствующие шаблону?
- 20. поиск по шаблону во всех файлах в каталоге
- 21. Как удалить базы данных postgresql, соответствующие шаблону?
- 22. Как удалить соответствующие файлы, но исключить некоторые
- 23. Я пытаюсь grep шаблон в нескольких файлах и печатать соответствующие соответствующие строки для разных новых файлов.
- 24. regex - найти все строки, не соответствующие шаблону
- 25. Удалить соответствующие последовательные строки
- 26. В Scala найти файлы, соответствующие шаблону String
- 27. Выберите строки, соответствующие шаблону, используя LIKE
- 28. Цитирование через строки печати файла, соответствующие шаблону
- 29. Соответствующие данные в отдельных файлах
- 30. Удалить повторяющиеся строки в файле по шаблону
@MattJacob Что это? Будете ли вы любезны поделиться этим не так-американским образом? – MAPK
Конечно. Покажите мне, над чем вы работали, и я буду рад помочь вам исправить все, что с ним не работает. –