共通の値を見つけて特定のパターンを書き込み、範囲パターンに減算するシェル スクリプト
2 つのファイルでコマンド値を取得し、ia パターンを新しいファイルに書き込み、かつ範囲パターンの最初の値を 1 減算するシェル スクリプト
$ cat file1
2
3
4
6
7
8
10
12
13
16
20
21
22
23
27
30
$ cat file2
2
3
4
8
10
12
13
16
20
21
22
23
27
動作するスクリプト:
awk 'NR==FNR{x[$1]=1} NR!=FNR && x[$1]' file1 file2 | sort | awk 'NR==1 {s=l=$1; next} $1!=l+1 {if(l == s) print l; else print s ":" l; s=$1} {l=$1} END {if(l == s) print l; else print s ":" l; s=$1}'
スクリプトアウト:
2:4
8
10
12:13
16
20:23
27
Desired output:
1:4
8
10
11:13
16
19:23
27