Text-Processing
列不匹配和替換
input.txt(製表符分隔)
TTTTOTTT00000000008 RTTTT899 5.00E-28 TTTTOTTT00000000046 RTTTWRR 3.00E-31 TTTTOTTT00000000051 2.00E-11 TTTTOTTT00000000051 7.00E-12 TTTTOTTT00000000054 5.00E-22 TTTTOTTT00000000061 YTRYR 1.00E-11 TTTTOTTT00000000078 ETNRR8 6.00E-17 TTTTOTTT00000000174 TYTYT 1.00E-11 TTTTOTTT00000000203 UUUE 9.00E-20
我有列混淆的文件。在這個文件 (input.txt) 中。第 3 列有空格,列應填充第 2 行,第 2 列應替換為無
output.txt(製表符分隔)
TTTTOTTT00000000008 RTTTT899 5.00E-28 TTTTOTTT00000000046 RTTTWRR 3.00E-31 TTTTOTTT00000000051 none 2.00E-11 TTTTOTTT00000000051 none 7.00E-12 TTTTOTTT00000000054 none 5.00E-22 TTTTOTTT00000000061 YTRYR 1.00E-11 TTTTOTTT00000000078 ETNRR8 6.00E-17 TTTTOTTT00000000174 TYTYT 1.00E-11 TTTTOTTT00000000203 UUUE 9.00E-20
awk -v 'OFS=\t' 'NF == 2 { print $1, "none", $2; next } 1' input.txt > output.txt
根據輸入文件的特性進行調整。我假設只有 2 個欄位的每一行都應該插入一個“無”。否則,所有其他行都原封不動地通過(末尾的
1
目的)。
awk -v OFS="\t" 'NF==2{$2="none\t"$2}1' test_in.txt
這不是為修改的行單獨列印語句,而是在必要時修補欄位並將更正的行流式傳輸以由同一語句列印。