ファイルからランダムなレコードを取得しようとしています。ファイルには合計10個のレコードがあります。 私が現在持っているものがなぜ機能していないのか分かりません。私は、任意の数1-10
ため$n
に置き換えて問題がない場合は はawkコマンドで変数に格納された数値を使用する方法
n=expr $RANDOM % 10 + 1
awk 'BEGIN{RS = "%"} NR==$n' pathToFile
(私は ``周りに何のnに等しいています)。あなたのコードからの唯一の違いは、変数の周りの余分な"'" "'"
であることを
awk 'BEGIN{RS = "%"} NR=="'"$n"'"' /folder/file
注:
'n = $((RANDOM%10 + 1))'を使用します。 'expr'はPOSIXの算術演算では時代遅れです。 – chepner