我有许多大的TSV文件,其中有6个未命名的列和大约Linux0万行.我需要逐行应用更改并另存为新的TSV.我在Linux上工作,并有权访问awk,gawk,grep.理想情况下,代码将在其运算符中引用列号,因此它的功能与行内容无关.蒂娅!
只需对第2列和第3列进行更改,但更改取决于第6列中的值:
If the value of column 6 is "+", then:
New Column 2: [Column 2 Value]
New Column 3: [Column 2 Value] + 1
If the value of column 6 is "-", then:
New Column 2: [Column 3 Value] - 1
New Column 3: [Column 3 Value]
Example TSV Data Structure (no | present in actual data)个
| AI | 828 | 878 | ABC4807:78485:5:79215 | 42 | - |
| AI | 971 | 1021 | ABC248:78485:5:79215:46065 | 42 | + |
| AI | 1104 | 1153 | X7481:78485:5:79215:40174 | 35 | - |
| XVDIII | 56939 | 56988 | 9478:78485:5:79215:30872 | 42 | - |
| XVDIII | 56971 | 57020 | 7841S:78485:5:79215:34301 | 42 | - |
| UTXV | 1043196 | 1043246 | T885189:78485:5:79215:10036 | 42 | + |
| UTXV | 1043198 | 1043248 | C74581:78485:5:79215:10792 | 42 | - |
| UTXV | 1043201 | 1043250 | T75S17:78485:5:79215:30204 | 42 | - |
| UTXV | 1043201 | 1043251 | B784W7:78485:5:79215:42548 | 42 | - |
Desired TSV Output个
| AI | 877 | 878 | ABC4807:78485:5:79215 | 42 | - |
| AI | 971 | 972 | ABC248:78485:5:79215:46065 | 42 | + |
| AI | 1152 | 1153 | X7481:78485:5:79215:40174 | 35 | - |
| XVDIII | 56987 | 56988 | 9478:78485:5:79215:30872 | 42 | - |
| XVDIII | 57019 | 57020 | 7841S:78485:5:79215:34301 | 42 | - |
| UTXV | 1043196 | 1043197 | T885189:78485:5:79215:10036 | 42 | + |
| UTXV | 1043247 | 1043248 | C74581:78485:5:79215:10792 | 42 | - |
| UTXV | 1043249 | 1043250 | T75S17:78485:5:79215:30204 | 42 | - |
| UTXV | 1043250 | 1043251 | B784W7:78485:5:79215:42548 | 42 | - |