shell指令碼隨機輸出乙個檔案的25行

2022-08-11 15:57:17 字數 753 閱讀 2885

好久沒寫shell指令碼了,今天看到群裡有這麼乙個需求,截圖如下:

我也是複習一下shell指令碼,就順手寫了個程式測試了一下,基本上通過了

首先,用shell指令碼按行讀取文字,將每一行存入乙個陣列中

每次選擇乙個隨機數,來從陣列中取資料

注意,不能是重複的行,所以隨機數有標記字段

#!/bin/bash

#檔案位置

file="./test.txt"

#計數器

i=0#按行讀取檔案內容,存入arr陣列中

for line in $(awk '' $file)

do arr[$i]=$line

i=$(expr $i + 1)

done

#構造隨機數陣列,假定檔案只有100行,當random[i]=0時說明第i行沒有被讀取

for i in $(seq 1 100)

do random[$i]=0

done

#構造隨機數,隨機選取25行

for ((i=0; i<25;))

do index=$random%100

if [ $ -eq 0 ]; then

random[$index]=1

echo $

i=$(expr $i + 1)

fidone

乙個shell指令碼

之前學過shell指令碼,但是工作中一直沒有用到,今天由於要搞乙個定時任務,為了防止重複啟動php指令碼,就需要寫乙個shell,下面是指令碼內容 bin bash 宣告要使用哪個shell 下面是備註檔案 這可是乙個好習慣奧 date 2012 7 18 version 1.0 設定相關變數 fi...

shell指令碼練習 每天乙個shell指令碼 7

我的部落格都是依照自己淺薄的現有知識去寫的,好多時候寫完了部落格,去查詢答案,會發現很多更剪短更效率更好的答案。寫部落格是激勵我自己能堅持下去,讓我的頭腦不去懈怠,望共勉。題目 write a script five dirs.sh that does these tasks make a dire...

shell 指令碼中將輸出內容賦值給乙個變數時不換行

如題,將某命令的輸出結果賦值給乙個變數 a 如果使用 echo a 輸出變數,則變數中的 換行都會被忽略掉,所有內容輸出到一行 而使用 echo a 可正常輸出變數中的換行 當我們要將命令的輸出儲存到乙個變數,再對每一行遍歷進行某些操作時不能使用 html view plain copy for i...