1. 程式人生 > >shell指令碼語言seq命令

shell指令碼語言seq命令

seq用於產生從某個數到另一個數之間的所有整數

ElonJelinek:Desktop ElonJelinek$ seq 1 6
1
2
3
4
5
6
ElonJelinek:Desktop ElonJelinek$

-f指定格式,%後面指定數字的位數
%3g表示指定3位數,不足3位的數,前面有個空格
仔細觀察發現,seq -f "%3g" 9 13的輸出結果均是兩位數,所以前面都有個空格。

ElonJelinek:Desktop ElonJelinek$ seq -f "%3g" 9 13
  9
 10
 11
 12
 13
ElonJelinek:Desktop ElonJelinek$ seq -
f "%3g" 98 102 98 99 100 101 102 ElonJelinek:Desktop ElonJelinek$

%03g表示指定3位數,不足3位數的前面用0填充

ElonJelinek:Desktop ElonJelinek$ seq -f "%03g" 9 13
009
010
011
012
013
ElonJelinek:Desktop ElonJelinek$

%的前面可以加字串,str%3g表示給生成的3位數前面加上字串str,不足3位數的前面仍有個空格,3前面有0的表示用0填充

ElonJelinek:Desktop ElonJelinek$ seq -f "str%03g" 9 13
str009
str010
str011
str012
str013
ElonJelinek:
Desktop ElonJelinek$ seq -f "str=%3g" 98 102 str= 98 str= 99 str=100 str=101 str=102 ElonJelinek:Desktop ElonJelinek$

-s指定分隔符,沒有-s的時候,預設以回車分隔,也可以指定\n分隔,分隔符都寫在雙引號裡,還可以用任意字元分隔,但是雙引號裡不能為空,可以是至少一個空格

ElonJelinek:Desktop ElonJelinek$ seq -s"+=\n" -f "str=%3g" 98 102
str= 98+=
str= 99+=
str=100+=
str=101+=
str=102+=
ElonJelinek:Desktop ElonJelinek$ seq -s"\n" -f "str%03g" 9 13 str009 str010 str011 str012 str013 ElonJelinek:Desktop ElonJelinek$ ElonJelinek:Desktop ElonJelinek$ seq -s"==" -f "str%03g" 9 13 str009==str010==str011==str012==str013==ElonJelinek:Desktop ElonJelinek$ ElonJelinek:Desktop ElonJelinek$ seq -s"" -f "str%03g" 9 13 seq: invalid floating point argument: str%03g ElonJelinek:Desktop ElonJelinek$

-w指定輸出的數字同寬,不能和-f一起使用

ElonJelinek:Desktop ElonJelinek$ seq -w 98 101
098
099
100
101
ElonJelinek:Desktop ElonJelinek$ 

一次生成5個資料夾

ElonJelinek:Desktop ElonJelinek$ mkdir $(seq -f "dir%03g" 1 5)
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1480
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 15:40 dir001
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 15:40 dir002
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 15:40 dir003
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 15:40 dir004
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 15:40 dir005
-rw-r--r--@ 1 ElonJelinek  staff     612  4 23 13:47 ping.txt
-rwxr-xr-[email protected] 1 ElonJelinek  staff      79  4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek  staff  356548  4 21 16:36 程式設計珠璣.png
-rw-r--r--@ 1 ElonJelinek  staff  385309  4 21 16:31 大話資料結構.png
ElonJelinek:Desktop ElonJelinek$ 

一次生成5個文字檔案

ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1472
-rw-r--r--@ 1 ElonJelinek  staff       0  4 23 15:43 002
-rw-r--r--  1 ElonJelinek  staff       0  4 23 15:43 003
-rw-r--r--  1 ElonJelinek  staff       0  4 23 15:43 004
-rw-r--r--  1 ElonJelinek  staff       0  4 23 15:43 005
-rw-r--r--  1 ElonJelinek  staff       0  4 23 15:43 006
-rwxr-xr-[email protected] 1 ElonJelinek  staff      79  4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek  staff  356548  4 21 16:36 程式設計珠璣.png
-rw-r--r--@ 1 ElonJelinek  staff  385309  4 21 16:31 大話資料結構.png
ElonJelinek:Desktop ElonJelinek$ 

也可以指定字尾名

ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g.txt" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls
002.txt                005.txt                程式設計珠璣.png
003.txt                006.txt                大話資料結構.png
004.txt                test.sh
ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g.go" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls
002.go                 004.txt                test.sh
002.txt                005.go                 程式設計珠璣.png
003.go                 005.txt                大話資料結構.png
003.txt                006.go
004.go                 006.txt
ElonJelinek:Desktop ElonJelinek$ 

另一種寫法

ElonJelinek:Desktop ElonJelinek$ awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1472
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir001
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir002
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir003
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir004
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir005
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir006
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir007
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir008
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir009
drwxr-xr-x  2 ElonJelinek  staff      64  4 23 16:13 dir010
-rwxr-xr-[email protected] 1 ElonJelinek  staff      79  4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek  staff  356548  4 21 16:36 程式設計珠璣.png
-rw-r--r--@ 1 ElonJelinek  staff  385309  4 21 16:31 大話資料結構.png
ElonJelinek:Desktop ElonJelinek$

相關推薦

shell指令碼語言seq命令

seq用於產生從某個數到另一個數之間的所有整數 ElonJelinek:Desktop ElonJelinek$ seq 1 6 1 2 3 4 5 6 ElonJelinek:Desktop ElonJelinek$ -f指定格式,%後面指定數字的位數 %

Linux Shell指令碼程式設計 --awk命令詳解

簡單使用: awk :對於檔案中一行行的獨處來執行操作 。 awk -F :'{print $1,$4}'   :使用‘:’來分割這一行,把這一行的第一第四個域打印出來 。    

利用shell指令碼執行mongdb命令

用shell指令碼執行mongdb的renameCollection命令: 1、建立一個*.sh檔案 2、增加如下命令: #!/bin/bash mycol="test" mongo 127.0.0.1:27017/pica -u pica_user -p "[email 

shell 指令碼中獲取命令的輸出

這個主要介紹的方法是獲取命令的輸出內容,而不是命令執行成功與否的返回值。 通常情況下,在shell指令碼中需要獲取命令的輸出內容,然後根據輸出內容判斷下一步的執行操作。 比較常用的一種方式就是, 匹配命令輸出的內容中是否存在某些關鍵字,選擇執行的不同動作。 比較常用的一種方式就是

解決 shell指令碼中SCP命令需要輸入密碼的問題

本文轉自:https://blog.csdn.net/u012454773/article/details/72779439 使用金鑰檔案,兩臺機器建立信任 這裡假設主機A(192.168.100.3)用來獲得主機B(192.168.100.4)的檔案。 在主機A上執行如下命令來生成配對金鑰:

iOS音視訊—Shell指令碼語言(第一個指令碼應用)

Shell指令碼語言 簡介 一、Android開發:動態庫編譯(.so檔案) iOS開發:靜態庫(.a檔案) Shell編譯 掌握基本Shell使用->修改和應用Shell 二、什麼是Shell

iOS音視訊—Shell指令碼語言(語法-字串)

In every walk with nature one receives far more than he seeks. 每一次和自然同行,都會有意外的收貨。 Shell指令碼語言(語法-字串)

shell指令碼執行hive命令傳值給sql檔案、shell傳參

使用場景,大資料平臺azkaban任務中通過shell指令碼呼叫sql檔案(尤其是呼叫多個sql時),希望可以傳參到sql檔案中 方法:本例以sh呼叫hive命令執行sql為例,道理相同 1、sh 檔案中執行hive -f 命令 將inputdate傳給sql檔案使用

如何理解Linux Shell和基本Shell指令碼語言

 理解Linux Shell: shell:一個命令列直譯器,通過執行命令或指令碼,幫助使用者與作業系統打交道。 process:程序,使用者執行的任務是程序,但程序不只是任務。 file:檔案放在硬碟上,包含使用者所有的資料。 x-windows(又稱windows):Linux的一種模式,使螢幕

shell指令碼的那點小事兒--shell指令碼語言輸入輸出與檔案操作(三)

內容一:檔案包含 在shell指令碼中匯入其他shell指令碼 語法1: ./filename 這裡./filename相當於執行了filename指令碼 檔案A->fileA.sh #!/bin/bash echo "我是檔案A" 檔案B->fileB.sh

linux下shell指令碼中sed命令使用變數

用linpack做測試,寫了一個指令碼, 因為每次可修改的引數寫在了配置檔案裡,所以腳本里用sed命令來修改配置檔案#測試次數echo “Input Number of tests:”read numt#每次測試的資料規模,測試次數有多少次,這裡應該又多少組數字,中間以空格隔

Shell指令碼中cd命令使用

在寫shell指令碼的時候發現cd切換目錄的時候無法切換,程式碼是下面的。 #!/bin/bash #changedir.sh cd /home/firefox pwd我仔細一想,我執行的時候是./changedir.sh來執行的,這樣執行的話終端會產生一個子shell,子

shell指令碼語言實現一個斐波那契數列的遞迴和非遞迴版本

程式碼: #!/bin/bash -x #第一種寫法 #first=1 #second=1 #last=1 # #if [ $1 -le 2 ];then # echo 1 #fi # #i=3 #while [ $i -le $1 ] #do # let last=

Shell指令碼語言

常見的shell種類: 不同的shell具備不同的功能,shell決定了指令碼函式的語法,linux中預設的Shell 是/bin/bash , 流行的shell有ash,bash,ksh,csh,zsh等,不同的Shell都有自己的特點以及用途。 — CSH c shell 使用的是“類C”語法,csh是具

Linux系統下shell指令碼語言學習手冊指南

 Linux shell指令碼全面學習   1. Linux 指令碼編寫基礎   1.1 語法基本介紹   1.1.1 開頭   程式必須以下面的行開始(必須方在檔案的第一行):   #!/bin/sh   符號#!用來告訴系統它後面的引數是用來執行該檔案的程

linux中利用shell指令碼條件執行命令

在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不同的目錄舉例,當然也可以執行其他命令,

Linux專題:shell指令碼語言

shell互動介面為人和作業系統、uboot之間的人機互動提供了操作介面,可以通過shell介面來向作業系統或uboot等軟體程式傳送命令,使其按照命令列事。 shell互動介面可以通過shell指令碼語言來實現,linux中常用的指令碼語言是sh和bash。指令碼語言是解

shell 指令碼程式設計常用命令

1、日期常用命令 date '+%Y%m%d%H%M%S' date '+%Y-%m-%d %H:%M:%S' -d '-1 day' 字串轉日期並作時間加減法 date -d "20130701 -i -1 month" +"%Y%m%d" 2、左補位 echo

shell指令碼 linux常用命令

ps -ef | 全格式顯示當前所有程序 grep xxx 濾出''xxx''的程序 grep

Linux shell指令碼中執行命令結果賦值給變數&&echo輸出變數是否包含換行符的問題

Linux shell指令碼中執行命令結果賦值給變數&&echo輸出變數是否包含換行符的問題 echo $ret 和 echo "$ret" 區別: 如果是echo $ret,輸出結果為一行,沒有換行符 如果是echo "$ret",輸出結果為多行,有換行符