teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード改善

2017/11/23 11:34

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -22,4 +22,19 @@
22
22
  /^ID/ { print; next }
23
23
  { print $1" "((m[$1] != $2) ? $2 : "ERROR") }' > TXT1.new
24
24
  ```
25
- いろいろ行儀が悪い点があります。(-s-,-e-を辞書mに登録してしまう点など・・・)
25
+ いろいろ行儀が悪い点があります。(-s-,-e-を辞書mに登録してしまう点など・・・)
26
+
27
+ ---
28
+ 追記:
29
+
30
+ otnさんにコメントいただいたので平易と思われる方法を追記させていただきます。
31
+
32
+ ```bash
33
+ awk '
34
+ !F { m[$1]=$2; next }
35
+ /^ID/ { print; next }
36
+ { print $1" "((m[$1] != $2) ? $2 : "ERROR") }
37
+ ' TXT2 F=1 TXT1 > TXT1.new
38
+ ```
39
+
40
+ 断然分かり易いですね!(まだイケテナイ部分は残っているだろうとは思いますが・・・)