回答編集履歴

2

Update

2021/11/02 12:55

投稿

melian
melian

スコア19865

test CHANGED
@@ -1,4 +1,4 @@
1
- `test.txt` の内容を見ると、各列の位置が決まっている様なので(3,4,5列は15目から47桁目ま)、GNU coreutils の uniq コマンドを使ってみます。
1
+ `test.txt` の内容を見ると、3,4,5列目の幅の合計固定(`11*3=33`)の様なので、GNU coreutils の uniq コマンドで処理してみます。
2
2
 
3
3
 
4
4
 
@@ -14,9 +14,9 @@
14
14
 
15
15
  004 3456 27 27 0 テスト4
16
16
 
17
- 005 1123 8 19 26 テスト6
17
+ 005 1123 8 19 26 テスト5
18
18
 
19
- 006 7890 27 27 0 テスト5
19
+ 006 7890 27 27 0 テスト6
20
20
 
21
21
  ```
22
22
 
@@ -30,10 +30,10 @@
30
30
 
31
31
 
32
32
 
33
- $ cat test.txt | sort -k3,5 | uniq -D -s 14 -w 33
33
+ $ cat test.txt | sort -k3,5 | uniq -D -f 2 -w 33 # 先頭の2列を無視、直後の33文字で比較
34
34
 
35
35
  004 3456 27 27 0 テスト4
36
36
 
37
- 006 7890 27 27 0 テスト5
37
+ 006 7890 27 27 0 テスト6
38
38
 
39
39
  ```

1

Update

2021/11/02 12:55

投稿

melian
melian

スコア19865

test CHANGED
@@ -1,4 +1,4 @@
1
- `test.txt` の内容を見ると、各列の位置が決まっている様なので(3,4,5列は14桁目から33桁目まで)、GNU coreutils の uniq コマンドを使ってみます。
1
+ `test.txt` の内容を見ると、各列の位置が決まっている様なので(3,4,5列は15桁目から47桁目まで)、GNU coreutils の uniq コマンドを使ってみます。
2
2
 
3
3
 
4
4