Bash 读取文件';随机删除行并记录它们
我试图读取一个包含很多行的文本文件,并通过bash scrip使用logger记录它们。我实现了用以下代码逐行读取文件Bash 读取文件';随机删除行并记录它们,bash,shell,file,random,Bash,Shell,File,Random,我试图读取一个包含很多行的文本文件,并通过bash scrip使用logger记录它们。我实现了用以下代码逐行读取文件 #!/bin/bash filename=logger.txt [[ -f ${filename} ]] || exit 1 x=0 while read -r line; do logger "$line"; sleep 0.1; done < $filename exit 0 #/bin/bash fi
#!/bin/bash
filename=logger.txt
[[ -f ${filename} ]] || exit 1
x=0
while read -r line; do
logger "$line";
sleep 0.1;
done < $filename
exit 0
#/bin/bash
filename=logger.txt
[[-f${filename}]| |退出1
x=0
而read-r行;做
记录器“$line”;
睡眠0.1;
完成<$filename
出口0
但是如何随机读取行并记录它们
我正试着用这个,但没有成功
#!/bin/bash
filename=logger.txt
[[ -f ${filename} ]] || exit 1
x=0
while read -r line; do
logger "%06d %s\n" $RANDOM "$line";
sleep 0.1;
done < $filename
exit 0
#/bin/bash
filename=logger.txt
[[-f${filename}]| |退出1
x=0
而read-r行;做
记录器“%06d%s\n”$RANDOM“$line”;
睡眠0.1;
完成<$filename
出口0
我如何在脚本中实现随机函数,或者是否有其他选项来实现它?我尝试了shuf,但它只读取了一行,然后就停止了。给定
-r
标志shuf
连续地从输入文件输出随机行。因此,您可以:
while read -r line; do
logger "$line"
sleep .1
done < <(shuf -r "$filename")
读取-r行时;做
记录器“$line”
睡觉
完成