ループで実行findmerge
して、場所がテキスト ファイルに保存されている特定のファイル セットをマージしようとしています。以下のようなもの:
while read p; do
cleartool findmerge $p -type f -fversion .../main/LATEST -merge
done < filesToBeMerged.txt
ここでfilesToBeMerged.txt
は、以下のようになります。
./MyProject/src/com/acme/AcmeManager.java
./MyProject/src/com/acme/AcmeLogger.java
./MyProject/build.xml
等々。
ただし、上記のコマンドを実行すると、ファイルの「最初の」行のみが処理されて停止します。これがファイル内のすべての行をループするにはどうすればよいですか? それとも、Perl スクリプトのようなものがこれに適していますか?
編集: bash バージョンの追加:
GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
編集 2:
bash スクリプトの追加autoMerge.sh
:
f="./filesToBeMerged.txt"
fcontent=$(cat "${f}")
while read line; do
echo "Starting to merge: ${line}"
cleartool findmerge "${line}" -type f -fversion .../main/LATEST -merge
done <<< "${fcontent}"
#done < "${f}"