0
私は
AWK
コードの下の行を使用しています
の内側(ランダムな文字列を生成する)コマンドを実行し、100と400AWK
awk -F \, 'BEGIN { OFS = FS } $NF == 7833 { $NF = int(rand() * 300 + 100) } 1' ./OldFile.txt > ./NewFile.txt
この間のランダムな整数で私のカンマで区切られたファイル内の7833のすべての出現箇所を置き換えます完璧に動作しますが、7833を以下のコマンドのランダムな文字列に置き換えます。
cat /dev/urandom | tr -cd 'A-Z0-9' | head -c 10
私は以下のコマンドを使ってみましたが、動作しません。
awk -F \, 'BEGIN { OFS = FS } $NF == 7833 { $NF = `cat /dev/urandom | tr -cd 'A-Z0-9' | head -c 10` } 1' ./OldFile.txt > ./NewFile.txt
助けてください。
ありがとうございます。
回答ありがとうございますが、残念ながらこれは動作しません。 'tr:write error:壊れたパイプ'というエラーが出ます。また、私は別のコマンドを試しましたが、 'system'は終了ステータスを返すので、数字を0(ステータス)で置換し、ランダムな文字列を新しい行に置き換えています。これは近いですが、私は必要なのはコマンドを実行してその出力(終了ステータスではない)を返すものだと思います。 –