質問編集履歴
4
コード編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,6 +31,7 @@
|
|
31
31
|
```
|
32
32
|
|
33
33
|
### 実装済の冗長ソースコード
|
34
|
+
awkの外側の外部ファイル参照によるwhile read文で繰り返し処理を行っている。
|
34
35
|
```bash
|
35
36
|
while read key regex val1 val2 ; do
|
36
37
|
cat ./input.txt | awk '
|
@@ -42,7 +43,7 @@
|
|
42
43
|
NR>1{
|
43
44
|
if(match($2, /'"$regex"'/)){
|
44
45
|
print $0,substr($2, RSTART + '"$val1"', RLENGTH - '"$val2"')
|
45
|
-
}
|
46
|
+
}else{print $0,"0"}
|
46
47
|
}
|
47
48
|
'>./out.txt #同名の./input.txtだと処理がうまくいかない(空白のテキストができる)
|
48
49
|
mv ./out.txt ./input.txt #処理に時間がかかるがout.txtとして1度出力し、mvで名前を変更した。
|
3
コードの一部修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
}
|
41
41
|
NR==1{$0,'"$key"'}
|
42
42
|
NR>1{
|
43
|
-
if(match($2, /'"$
|
43
|
+
if(match($2, /'"$regex"'/)){
|
44
44
|
print $0,substr($2, RSTART + '"$val1"', RLENGTH - '"$val2"')
|
45
45
|
}
|
46
46
|
}
|
2
コードの一部修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
}
|
41
41
|
NR==1{$0,'"$key"'}
|
42
42
|
NR>1{
|
43
|
-
if(match($
|
43
|
+
if(match($2, /'"$regrex"'/)){
|
44
44
|
print $0,substr($2, RSTART + '"$val1"', RLENGTH - '"$val2"')
|
45
45
|
}
|
46
46
|
}
|
1
コード追加(awkのNR==1の処理)
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,6 +38,7 @@
|
|
38
38
|
FS = "\t"
|
39
39
|
OFS = "\t"
|
40
40
|
}
|
41
|
+
NR==1{$0,'"$key"'}
|
41
42
|
NR>1{
|
42
43
|
if(match($8, /'"$regrex"'/)){
|
43
44
|
print $0,substr($2, RSTART + '"$val1"', RLENGTH - '"$val2"')
|