次のタスクにストリーミングする方法(1つのコマンドまたはスクリプトで):
- 両方のディレクトリdir1とdir2の内容(ファイルとフォルダ)を比較します。
- dir1ディレクトリに新しいファイルが表示されたら、そのファイルをdir2にコピーし始め、同時にハンドラを使用して処理します。
diff - >コピー - > some.shの実行
ベストアンサー1
次のコマンドを使用して、dir1 の内容を file1.txt にリストします。
ls -ltr | awk '{print $9}' > /var/tmp/file1.txt
file1.txt には次の内容が含まれています。
t1
1
l.sh
r.txt
l.py
l.txt
p.txt
次のコマンドを使用して、dir2 の内容を file2.txt にリストします。
ls -ltr | awk '{print $9}' > /var/tmp/file2.txt
t1
1
l.sh
r.txt
l.py
l.txt
file1.txtと比較して、このコマンドはfile2.txtにないコンテンツを見つけてディレクトリ2にコピーします。
awk 'NR==FNR {a[$1];next}!($1 in a) {print $1}' file2.txt file1.txt |
awk '{print "cp -rvfp" " " "directory1path”$1 " " "directory2path"}' |
sh