Cut

一條兩條線

  • September 30, 2014

我想用linux刪除一行兩行,這樣

A
B
C
D
E

變成

A
D
E

我怎樣才能讓它工作?

在我看來,您想要獲得每條奇數行。為此,您可以使用許多工具:

awk 'NR%2' file

這考慮了記錄的數量(NR,即在這種情況下的行數)並評估它是否是 2 的倍數。如果是,則條件NR%2為假,因此不列印行;否則,他們是。awk注意is的預設行為{print $0},因此可以省略:1is 與 相同{print $0}

sed '0~2d' file

只需刪除每一行是 2 的倍數。您還可以使用-n 禁止列印並顯式列印那些不是 2 的倍數的行:

sed -n '1~2p' file

引用自:https://unix.stackexchange.com/questions/158375