0
私は、テキストファイル(端末経由で入力)から特定の値を抽出するシェルスクリプトを持っています。スクリプトは、出力をファイルに正しく出力しないことを除いて、意図したとおりに抽出を行います。シェル出力ファイルへの書き込みスクリプト
スクリプトは次のとおりです。
#!/bin/bash
input_file=$1
while read -r LINE
do
IFS="=" read -r -a params <<< "$LINE"
if [ -n "${params[2]}" ]
then
IFS=" " read -r -a param_opcode <<< "${params[2]}"
echo "${param_opcode}"
fi
done < "$input_file"
次のように端末の出力は次のようになります。
しかし0xd2800140
0xd2800061
0x8b010000
0x8b000042
0xd1000821
0xd28001e5
0xd28000a6
0x9ac608a5
0xe7ff0010
0xe7ff0010
、私がやっ府テキストファイルにこれを書いしようとすると:
echo "${param_opcodes}" > log.txt
これはファイルにのみこれを印刷します:
0xe7ff0010
私は試しましたが、私は追加したくありません。毎回ファイルを上書きしたい、私はスクリプトを実行する。
ありがとうございます。しかし、なぜ私が試みるのが失敗するのか不思議です。 –
@the_black_mamba、... '>は' O_TRUNC'でファイルを開き、以前の内容をゼロにするためです。 –
@Charlesはあなたが手がけてくれました –