2016-09-16 4 views
0

両方のシステムで開発している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 
+2

Windowsでは、エディタをUnix形式に設定しているため、移動ごとにファイルを変換することはできません。 IDEでこれを楽しめますか? –

+0

あなたはどのようなエラーを受け取りましたか?ループは何ですか? * .txtのファイルのようなもの? –

+0

エラーメッセージは予期しないファイルの終わりでした。 Windowsで私は一般的にVisual Studioのいくつかの形式を使用します。 – pacmaninbw

答えて

2

ラップfor file in "[email protected]"ループ内のスクリプトと、すべてを置き換えるには、$file$1の言及します。

#!/bin/sh 

for file in "[email protected]"; do 
    echo "In u2w FileToConvert = $file" 

    FileBase=$(basename "$file") 
    FileExtension="${FileBase##*.}" 
    FileBase="${FileBase%.*}" 
    OutputSuffix="WF.$FileExtension" 
    OutputFile="$FileBase$OutputSuffix" 

    echo "unix2dos -n $file $OutputFile" 
    unix2dos -n "$file" "$OutputFile" 

    echo "diff -w $file $OutputFile" 
    diff -w "$file" "$OutputFile" 
done 
+0

"$ @"はスクリプト引数のリストです – Flows

関連する問題