2016-09-11 2 views
0

テキストファイルにellという単語が含まれている行を検索しようとしていますが、grepコマンドを使用したときにはWell I don?t knowthat?er 10, 2016.となります。dos2unix name_of_file.txtコマンドを使用しても、まだ残っている。私は間違って何をしていますか?私にお知らせください。ここでgrepコマンドを使用して正しい結果が得られない

は私のスクリプトです:

Hello today is September 10, 2016. 
NYC. 
What the hell is that? 
London. 
Well I don’t know. 

私は期待していた結果は次のとおりです:

Hello today is September 10, 2016. 
What the hell is that? 
Well I don’t know. 
+0

ファイル内に実際にどの文字が含まれているかを確認できますか?これは、grepが行を出力する方法を妨げている改行文字の問題でなければなりません。 –

+0

はい、すべての行は^ M @BrianStephensで終わります。 – Bthegreatest

+0

^M文字を\ rに変換する方法については、こちらをお読みください。http://stackoverflow.com/questions/811193/how-to-convert-the-m -line-break-to-normal-line-in-a-file-in-vim –

答えて

0

問題は、フォーマットしていました。ここ

#!/bin/sh 
if [ ! -f $2 ] 
then 
    echo The file does not exist 
    exit 
else 
    grep $1 $2 
fi 

は私のテキストファイルですテキストファイルの私は、テキストファイルをMicrosoft Wordを.txt形式で保存しましたが、そのデフォルトオプションはMS-DOS形式に保存しませんでした。この問題を解決するには、その種類、ASCII、または西部(テキスト)を選択してください。

関連する問題