両方のシステムで開発しているCentOSとWindows for C++プロジェクト間を行き来する必要があります。 * .cpp、* .h、* .txtなどの特定のタイプのすべてのファイルをUnixからDosに変換できるようにします。特定のタイプのすべてのファイルをUnixからDosフォーマットに変換するBashスクリプト
私は1つのファイルを変換するbashスクリプトを持っていますが、ファイルタイプの拡張子か* .FILETYPEだけで、そのタイプの特定のディレクトリにあるすべてのファイルを変換することができます。
ここでは作業用スクリプトがありますが、一度に複数のファイルで動作させるにはどうすればよいですか?私はforループを使ってみましたが、構文エラーが出ます。
#! /bin/sh
# Convert a text based file from Unix Format to Dos Format
# The Output file should be the name of the input file with
# WF inserted before the file extention
#
# Examples
# convert Unix format abc.txt to abcWF.txt Windows Format
# convert Unix format abc.cpp to abcWF.cpp Windows Format
echo "In u2w FileToConvert = $1"
FileBase=$(basename $1)
FileExtension="${FileBase##*.}"
FileBase="${FileBase%.*}"
OutputSuffix="WF.$FileExtension"
OutputFile="$FileBase$OutputSuffix"
commandment="unix2dos -n $1 $OutputFile"
echo $commandment
unix2dos -n $1 $OutputFile
echo "diff -w $1 $OutputFile"
diff -w "$1" "$OutputFile"
exit
例の実行
$ bd2w TestResults.txt
In u2w FileToConvert = TestResults.txt
unix2dos -n TestResults.txt TestResultsWF.txt
unix2dos: converting file TestResults.txt to file TestResultsWF.txt in DOS format ...
diff -w TestResults.txt TestResultsWF.txt
Windowsでは、エディタをUnix形式に設定しているため、移動ごとにファイルを変換することはできません。 IDEでこれを楽しめますか? –
あなたはどのようなエラーを受け取りましたか?ループは何ですか? * .txtのファイルのようなもの? –
エラーメッセージは予期しないファイルの終わりでした。 Windowsで私は一般的にVisual Studioのいくつかの形式を使用します。 – pacmaninbw