シェルスクリプトで外国語をgrepできません。

シェルスクリプトで外国語をgrepできません。

私はシェルスクリプトに初めてアクセスし、次の形式のテキストを含むテキストを持っています。

"some foreign language",'corresponding ID to text'

たとえば:-

"Назад",IDC_SSB_DLG_BACK_BTN

IDに関連するテキストを見つけてテキストファイルとして保存する必要があります。

私のサンプルスクリプトは次のとおりです。

#!/bin/sh
target_file=$1
output=$2
translationID=IDC_SSB_DLG_BACK_BTN
translation=$(cat $target_file | grep $translationID)
translationValue=$(echo "$translation" | awk -F',' '{print $1}')
translationValueFinal=$(echo "$translationValue" | tr -d '"')
echo "$translationValueFinal" >> $output

このスクリプトの実行中にエラーが発生しました -grep: (standard input): binary file matches

シェルスクリプトで外国語をgrepして保存する方法を提案してください。ありがとう

ベストアンサー1

GNU grepを使用している場合は、どの文字がgrepに表示されても入力をテキストとして処理するように指示できます。

grep -a

ただし、入力にテキスト以外のバイトが含まれているように見えるので、入力ファイルを確認することをお勧めします。

おすすめ記事