iT邦幫忙

2

請問用 Regex 如何刪除行數是偶數的?

抱歉,我是Regex超級菜鳥
請問我想將行數是偶數的整行刪除

舉例
輸入

Line11010
Life2202
Lixf23232
Lixcv003954
Lixvxc4504350
Lixe30472304723

期望結果

Line11010
Lixf23232
Lixvxc4504350
dragonH iT邦超人 6 級 ‧ 2020-09-15 11:46:16 檢舉
Regex 是這樣用的嗎
5
一級屠豬士
iT邦大師 1 級 ‧ 2020-09-15 11:51:13
最佳解答

https://ithelp.ithome.com.tw/upload/images/20200915/20050647yul4bSQE4T.png

awk 'NR%2==0' infile.txt > outfile.txt

sed 'n; d' infile.txt > outfile2.txt
estotw iT邦新手 5 級 ‧ 2020-09-15 12:19:20 檢舉

太厲害了,感恩!

3
海綿寶寶
iT邦大神 1 級 ‧ 2020-09-15 12:03:10

沒聽過這種要求的
還真的有哩

2010年就有人問一模一樣的問題

/images/emoticon/emoticon06.gif

sed , awk 很好用的啦.

那可不
/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif

estotw iT邦新手 5 級 ‧ 2020-09-15 12:18:57 檢舉

沒想到有人問過了 =o=!

2
([^\n]*)\n([^\n]*)(\n|$)

可以用 regex 的 replacement 功能。 ╰( ̄▽ ̄)╭

https://ithelp.ithome.com.tw/upload/images/20200915/20106865jnhslVL0Zg.jpg

estotw iT邦新手 5 級 ‧ 2020-09-15 12:18:39 檢舉

前輩這個好厲害!!

海綿寶寶貼的網址比較完整,我沒有考慮到 \r
/images/emoticon/emoticon16.gif

4
japhenchen
iT邦高手 1 級 ‧ 2020-09-15 14:33:19

a.txt的內容

Line11010
Life2202
Lixf23232
Lixcv003954
Lixvxc4504350
Lixe30472304723

我用python實作regular express,把文字檔的偶數行拿掉

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import re

ar=open('a.txt','r').read()
print(ar)

ar = re.sub(r'(\n[^\n]+\n*)','\n',ar)
print(ar)

輸出結果

japhen@JCWIN7PC:~$ ./a.py
Line11010
Life2202
Lixf23232
Lixcv003954
Lixvxc4504350
Lixe30472304723

Line11010
Lixf23232
Lixvxc4504350

https://ithelp.ithome.com.tw/upload/images/20200915/20117954YpRh3UzIki.jpg

還有分數可拿嗎?

estotw iT邦新手 5 級 ‧ 2020-09-15 15:25:15 檢舉

太厲害了,感恩!

真沒想到還能這樣用,一簡化下來就變的好簡單

我要發表回答

立即登入回答