最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux shuf命令實(shí)現(xiàn)隨機(jī)打亂行順序

 更新時(shí)間:2025年11月11日 14:54:46   作者:fengyehongWorld  
shuf命令用于隨機(jī)打亂行順序,適用于隨機(jī)抽樣、生成隨機(jī)數(shù)等,常用選項(xiàng)包括-n指定輸出行數(shù)、-i生成范圍內(nèi)的整數(shù)、-e從參數(shù)中抽取數(shù)據(jù),示例展示了如何亂序文件行、生成隨機(jī)數(shù)字、從參數(shù)中抽取數(shù)據(jù)

一. 基本語(yǔ)法

shuf 是 Linux 中一個(gè)非常強(qiáng)大的命令,核心作用是 隨機(jī)打亂行順序,就像洗牌(shuffle)一樣。

尤其適用于:

  • 隨機(jī)抽樣
  • 打亂順序
  • 生成隨機(jī)數(shù)
選項(xiàng)含義
-n number輸出 N 行
-r允許重復(fù)(replacement)
-i LO-HI生成范圍內(nèi)整數(shù)
-e item1 item2 ...從參數(shù)中抽樣(而非文件)

二. 基本使用

將文件的行亂序

apluser@FengYeHong-HP:0725$ cat A.txt
apple
banana
cherry
water
month
apluser@FengYeHong-HP:0725$ cat A.txt | shuf
cherry
banana
water
apple
month

將順序輸出的數(shù)據(jù)亂序

apluser@FengYeHong-HP:0725$ seq 1 6 | shuf
1
2
6
4
5
3
apluser@FengYeHong-HP:0725$ seq 1 6 | shuf | xargs
3 5 1 4 6 2
apluser@FengYeHong-HP:0725$ seq 1 6 | shuf | xargs -L 2
4 6
2 1
5 3

可以將生成的數(shù)據(jù)打散

seq 1 5 | awk 'BEGIN{OFS=","} {
	printf "%d,user_name_%03d,auid_%03d,地球%d\n", $1, $1, $1, $1
}' | shuf | sed '1i No,auid,用戶名,地址'

# ????????????

No,auid,用戶名,地址
2,user_name_002,auid_002,地球2
3,user_name_003,auid_003,地球3
5,user_name_005,auid_005,地球5
4,user_name_004,auid_004,地球4
1,user_name_001,auid_001,地球1

隨機(jī)生成一個(gè)12位的數(shù)字

  • xargs -n 1:行轉(zhuǎn)列
  • shuf | head -n 12:將數(shù)據(jù)打亂之后,只獲取前12行
  • tr -d '\n':刪除換行符,實(shí)現(xiàn)列轉(zhuǎn)行
apluser@FengYeHong-HP:0725$ echo {A..Z} {a..z} {0..9} | xargs -n 1 | shuf | head -n 12 | tr -d '\n';echo
YUqCy9QdNvaW

三. -n 指定輸出的行數(shù)

將數(shù)據(jù)打亂之后,只獲取前2行

apluser@FengYeHong-HP:0725$ seq 1 100 | shuf -n 2
10
64

隨機(jī)獲取文件中的1行

apluser@FengYeHong-HP:0725$ cat name_list.txt
張三
李四
王五
趙六
apluser@FengYeHong-HP:0725$ shuf -n 1 name_list.txt | awk '{print "中獎(jiǎng)的人是→ " $0}'
中獎(jiǎng)的人是→ 趙六
apluser@FengYeHong-HP:0725$ shuf -n 1 name_list.txt | awk '{print "中獎(jiǎng)的人是→ " $0}'
中獎(jiǎng)的人是→ 李四

四. -i 生成范圍內(nèi)的整數(shù)

生成10到99內(nèi)的所有整數(shù),打亂之后,獲取前4個(gè),并每行顯示2個(gè)

apluser@FengYeHong-HP:0725$ shuf -i 10-99 -n 4 | xargs -L 2
83 48
81 20
apluser@FengYeHong-HP:0725$ shuf -i 10-99 -n 4 | xargs -L 2
58 34
64 68

五. -e 從參數(shù)中抽取數(shù)據(jù)

apluser@FengYeHong-HP:0725$ shuf -e 香蕉 蘋果 橘子 西瓜
橘子
西瓜
蘋果
香蕉
apluser@FengYeHong-HP:0725$ shuf -e $(echo "香蕉 蘋果 橘子 西瓜")
西瓜
香蕉
蘋果
橘子
apluser@FengYeHong-HP:0725$ shuf -e $(seq 1 3)
3
1
2
apluser@FengYeHong-HP:0725$ shuf -e $(seq 1 3)
3
2
1

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux操作系統(tǒng)的概述與簡(jiǎn)介

    Linux操作系統(tǒng)的概述與簡(jiǎn)介

    這篇文章概括描述了什么是操作系統(tǒng),Linux的起源,Linux基本特性和Linux的應(yīng)用,希望通過這篇文章可以讓你對(duì)Linux操作系統(tǒng)有一個(gè)更好的了解
    2021-06-06
  • centos7 mysql數(shù)據(jù)庫(kù)安裝和配置

    centos7 mysql數(shù)據(jù)庫(kù)安裝和配置

    本篇文章主要介紹了centos7 mysql數(shù)據(jù)庫(kù)安裝和配置 ,非常具有實(shí)用價(jià)值,希望對(duì)大家實(shí)用mysql能夠有所幫助
    2017-01-01
  • Linux之進(jìn)程間通信(共享內(nèi)存【mmap實(shí)現(xiàn)+系統(tǒng)V】)

    Linux之進(jìn)程間通信(共享內(nèi)存【mmap實(shí)現(xiàn)+系統(tǒng)V】)

    這篇文章主要介紹了Linux之進(jìn)程間通信(共享內(nèi)存【mmap實(shí)現(xiàn)+系統(tǒng)V】),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • CentOS 5.1下跑Mono和Asp.net的實(shí)現(xiàn)方法分享

    CentOS 5.1下跑Mono和Asp.net的實(shí)現(xiàn)方法分享

    由于想研究在linux下跑.net程序的可行性,于是嘗試在CentOS5.1下搭建Mono環(huán)境和Asp.Net的服務(wù)器。Asp.Net的服務(wù)器是采用mod_mono和Apache的方式搭建(Nginx的搭建尚未研究)
    2012-04-04
  • linux系統(tǒng)內(nèi)核升級(jí)導(dǎo)致進(jìn)不去系統(tǒng)的解決方案

    linux系統(tǒng)內(nèi)核升級(jí)導(dǎo)致進(jìn)不去系統(tǒng)的解決方案

    本文介紹了使用sudo apt-get update命令后,內(nèi)核更新導(dǎo)致顯示驅(qū)動(dòng)不匹配的問題,提供了兩種解決方法:重新安裝系統(tǒng)驅(qū)動(dòng)或進(jìn)入舊內(nèi)核系統(tǒng)刪除新內(nèi)核并更新GRUB,以恢復(fù)正常系統(tǒng)
    2026-01-01
  • Linux nohup命令原理及實(shí)例解析

    Linux nohup命令原理及實(shí)例解析

    這篇文章主要介紹了Linux nohup命令原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • linux誤刪nginx.conf文件恢復(fù)方式

    linux誤刪nginx.conf文件恢復(fù)方式

    這篇文章主要介紹了linux誤刪nginx.conf文件恢復(fù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • linux下SVN配置實(shí)現(xiàn)項(xiàng)目目錄自動(dòng)更新以及源碼安裝的操作方法

    linux下SVN配置實(shí)現(xiàn)項(xiàng)目目錄自動(dòng)更新以及源碼安裝的操作方法

    下面小編就為大家分享一篇linux下SVN配置實(shí)現(xiàn)項(xiàng)目目錄自動(dòng)更新以及源碼安裝的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2017-12-12
  • 如何在Linux中route?add命令添加路由(Linux?route)

    如何在Linux中route?add命令添加路由(Linux?route)

    route?add命令是用于管理Linux操作系統(tǒng)網(wǎng)絡(luò)路由,允許用戶添加、刪除或修改網(wǎng)絡(luò)路由表中的條目,在Linux系統(tǒng)上添加靜態(tài)路由,靜態(tài)路由是手動(dòng)配置的路由,它指定了數(shù)據(jù)包從一個(gè)網(wǎng)絡(luò)到達(dá)另一個(gè)網(wǎng)絡(luò)的路徑,通過添加靜態(tài)路由,可實(shí)現(xiàn)網(wǎng)絡(luò)分段、轉(zhuǎn)發(fā)和通信等
    2024-06-06
  • 深入理解Linux內(nèi)存管理之free命令的使用

    深入理解Linux內(nèi)存管理之free命令的使用

    在 Linux 系統(tǒng)中,內(nèi)存是關(guān)鍵的資源之一,管理和監(jiān)控內(nèi)存的使用情況對(duì)系統(tǒng)的穩(wěn)定性和性能至關(guān)重要,free 命令是 Linux 中用于查看內(nèi)存使用情況的重要工具,下面我們就來(lái)看看它的具體使用吧
    2026-01-01

最新評(píng)論

宜昌市| 南开区| 广德县| 中西区| 东源县| 富民县| 托里县| 页游| 抚州市| 广德县| 通河县| 太仆寺旗| 荔波县| 南雄市| 巩义市| 莲花县| 木兰县| 巩留县| 新竹市| 雅安市| 分宜县| 定襄县| 陆良县| 浮梁县| 辉南县| 西峡县| 浦东新区| 岢岚县| 巧家县| 万安县| 长子县| 屯昌县| 休宁县| 拉萨市| 池州市| 南郑县| 枞阳县| 个旧市| 磐石市| 龙山县| 隆林|