0
私はbashスクリプトで1行ずつテキストファイルを読みます。私が読んでいるテキストファイルはタブで区切られたcsvです - しかし、私が読んだ行をカットしようとすると、それはうまくいかず、\ tがどこかの空白に変換されたようです。 t bashスクリプトでタブが失われる
以下のコードはありません私は最終的に何をやっているのですか?データを確実に読み取れるまで、コードに実際の作業負荷を実装していません。
for ((currlineno=2 ; $currlineno <= $maxlines ; currlineno++)); do
currline=$(sed -n "$currlineno"p "$IMPORT_TABLE".csv)
echo $currline |cut -f2
done
今、私はそれが
for ((currlineno=2 ; $currlineno <= $maxlines ; currlineno++)); do
currline=$(sed -n "$currlineno"p "$IMPORT_TABLE".csv |tr '\t' ';')
echo $currline |cut -f2 -d ';'
done
に動作しますが、私のテキストファイルも含まれているとして、私はそのようにそれを行うことはできません下のような2行を変更したときに「;」 '、'、 '。'分野で。私のフィールドは決してそれを含んでいないので、タブは私にとって唯一の受け入れ可能なオプションです。
引用符: 'echo" $ currline "| cut -f2' – anubhava
またはcurrlineをスキップして使用してください。 'sed -n" $ currlineno "p" $ IMPORT_TABLE ".csv |カット-f2' – anubhava
ありがとうございます。実際には、各フィールドをカットして抽出する必要があり、30フィールドごとにファイルを読み取らないようにしたいと考えています。変数を引用すると私の仕事ができました。 THANKS –