質問編集履歴
1
誤記の修正、文章の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
2重ループ以外の方法
|
1
|
+
s2重ループ以外の方法
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
現在ソースを自動で比較するツールを作成しています。
|
2
|
-
|
2
|
+
2つのディレクトリの同一順番のファイル同士をdiffで差分を取り、ファイル名_diffの様な名前で結果を別ファイルに出力しようと考えております。
|
3
3
|
|
4
4
|
```sh
|
5
5
|
#!/bin/sh
|
@@ -9,10 +9,10 @@
|
|
9
9
|
#比較元➁file一覧リスト(パス付)
|
10
10
|
find ./new* -type f >newfile.txt
|
11
11
|
#ファイル名一覧リスト
|
12
|
-
find ./bk* -type f | awk -F '{print $NF}' >filename.txt
|
12
|
+
find ./bk* -type f | awk -F/ '{print $NF}' >filename.txt
|
13
13
|
|
14
14
|
#比較元ファイル①と➁をカンマ区切りで結合(後のcutコマンドで使用)
|
15
|
-
|
15
|
+
paste -d "," bkfile.txt newfile.txt >join.txt
|
16
16
|
#各行末に , を挿入(後のcutコマンドで使用)
|
17
17
|
sed -i 's/$/,/g' join.txt
|
18
18
|
|
@@ -36,8 +36,8 @@
|
|
36
36
|
|
37
37
|
```
|
38
38
|
|
39
|
-
|
39
|
+
差分を取り、出力するdiffのファイル名(${name}_diff.txt)を設定したいです。
|
40
40
|
2重ループで一旦書いてみましたが、うまく行きませんでした。
|
41
41
|
※考えてみれば当たり前なのですが、ファイル名一覧でループした後、更に比較ファイル一覧でループするからです。
|
42
42
|
|
43
|
-
diffを取る際に出力するファイル名を、事前に用意したファイル名一覧と紐づけて出力する方法はないでしょうか。
|
43
|
+
diffを取る際に出力するファイル名を、事前に用意したファイル名一覧(filename.txt)と紐づけて出力する方法はないでしょうか。
|