1. 程式人生 > >Shell中實現類似於結構體/陣列功能的指令碼

Shell中實現類似於結構體/陣列功能的指令碼

#!/bin/bash

#ST1, ST2,ST3存放字串,通過陣列下標訪問資料

# Struct {

#  STRING A

#  STRING B

#  STRING C

# } Su;

ST1="Quannan Jinlong Mujin Nanjing Longyuanba Bitou"
ST2="Xiancheng Zheng Cun Zheng Zheng Zheng"
ST3="Baishengtai Tianlongshan Wufanghuoku Wenquan Yaxiweiwu Qicheng"

ST1_EXT=($ST1) #轉換成陣列
ST2_EXT=($ST2)
ST3_EXT=($ST3)

#${#ST1_EXT[@] 計算ST1中的字串個數

for ((i=0; i<${#ST1_EXT[@]}; i++)); do
    sleep 1
    echo "#### ${ST1_EXT[i]} -> ${ST2_EXT[i]} -> ${ST3_EXT[i]} #####"

done

參考文獻:

1. Linux Shell for迴圈寫法總結    http://www.linuxdiyf.com/viewarticle.php?id=206569

2. Shell中的字串處理                http://blog.chinaunix.net/uid-20476365-id-1942369.html

相關推薦

Shell實現類似結構/陣列功能指令碼

#!/bin/bash #ST1, ST2,ST3存放字串,通過陣列下標訪問資料 # Struct { #  STRING A #  STRING B #  STRING C # } Su; ST1="Quannan Jinlong Mujin Nanjing Longyu

從C++傳送多個數據(類似結構)進入QML的listView

首先,參照qt官方自帶的例項的,models and view:objectListmodel 下面貼出程式碼(在官方的例項中稍微修改下,使之符合我的要求), 首先是封裝一個Dataobject類,(將所需要的結構體的資料設定為類的屬性,使之在QML中可以很

基於EasyNVR攝像機無外掛直播流媒體伺服器實現類似單點登入功能的免登入直播功能

提出問題 EasyNVR是一套攝像機無外掛直播的流媒體伺服器軟體,他可以接入各種各樣的攝像機,再經過轉化統一輸出無外掛化直播的RTMP、HLS、HTTP-FLV流,同時,EasyNVR為了資料安全,提供了鑑權功能,可以配置成只有登入後才能直播觀看: 但這個時候問題又來了,很多企

利用介面與類實現類似函式指標的功能

在 C語言中,有一個非常重要的概念——函式指標,其最重要的功能是實現回撥函式。 所謂回撥函式,就是指函式先在某處註冊,而它將在稍後某個需要的時候被呼叫。在Windows系統中,開發人員想讓系統動態連結( Dynamic Link Library, DDL )呼

Java實現類似檔案管理器功能

package stream; import java.io.File; import java.util.Date; public class J_FileTest2 { public static void main(String[] args) { // T

websocket實現類似QQ的聊天功能

使用websocket實現聊天的原因 http單向通訊協議,請求只能是客戶端發起,且是無狀態的,而websocket是雙向通訊協議,可以有伺服器發起也可以是客戶端發起,用http實現聊天功能一般是通過輪詢,但是輪詢非常浪費伺服器資源,而且慢,親測過 重點websocket

c/c++實現的一個動態分配記憶體的結構陣列(類似vector)

這個陣列可以向裡面插入任何型別,包括自定義型別, 程式只是實現了基本功能,還有待完善, 首先初始化,然後就可以插入資料了, 當儲存單元不足的時候就自動增加儲存單元 由於總的風格是c, 所以看著很是彆扭, 有空了把全部改成c++風格的; 說有空就有空了,改成了c++風格了,

☆ C/C++使用結構陣列->排序(姓名+學號+分數)

使用單鏈表進行排序見上一篇文章,這兩篇文章相輔相承;   傳送門:點我即達(。・ω・。)   ***********************************************************************************

【C語言】用結構陣列指標完成:有三個學生資訊,存放在結構陣列,要求輸出全部資訊

//用結構體陣列指標完成:有三個學生資訊,存放在結構體陣列中,要求輸出全部資訊 #include <stdio.h> struct Stu { int num; char name[2

C語言,有5名學生儲存在結構陣列,程式設計按學生的成績升序排序,按學生的姓名降序排序,按年齡從低到高排序

有5名學生儲存在結構體陣列中,程式設計按學生的成績升序排序,按學生的姓名降序排序,按年齡從低到高排序 //我把宣告檔案放在.h檔案中 //把函式實現部分放在.m檔案中 //最後的函式呼叫放在主函式ma

有5名學生儲存在結構陣列,程式設計按學生的成績升序排序,按學生的姓名降序排序,按年齡從低到高排序, 成績, 年齡

typedefstruct stu {     char name[20];//儲存學生姓名     char sex;//儲存學生性別     int age;//儲存學生年齡     float score; }Stu;    Stu stu[5] = {      

結構陣列的某個成員進行排序

     class Program    {        static void Main(string[] args)        {                                    Struct[] array = new  Struct[3]

結構陣列應用在vc的函式當形式引數遇到的問題

設計了一個複數結構體,結構體如下: typedef struct tagComplex{ float Re; //複數的實部 float Im; //複數的虛部 }Comple 要把它的陣列形式應用在vc中,分以下步驟: (1)在vc中的某個類中新增成員函式,比如: v

第22節 C語言結構結構巢狀、結構指標與結構陣列的程式碼實現

結構體 #include <stdio.h> //第一步 struct Student { //學號 int no; //姓名 char name[20]; //性別 char

matble建立結構陣列、sort的排序

1、建立結構體陣列 struct在matlab中是用來建立結構體陣列的。通常有兩種用法:  s = struct('field1',{},'field2',{},...)   這是建立一個空的結構體,field1,field2是域名稱  s = struct('field1

C語言結構+陣列實現學生學號成績的統計、排序

#include <stdio.h> #include <stdlib.h> #define N 32  struct student {  int num;  int sch;  }s[N]={{392,81},{304,80},{442,85},

fortran動態結構陣列實現

舉例說明,現在我們要實現這麼個功能: 有很多點,需要以一種簡單的方式來對它們的三個座標值進行處理,那麼如果分別定義三個陣列,x(i),y(i),z(i)來表示也並非不可,但實在臃腫難看。好在f90開

關於計算結構陣列位元組數

2.結構體計算長度,如下:  #include <stdio.h> #include <string.h> struct student {   int num;   char name[20];   char sex;   float score;

在mfc使用SendMessage傳送結構引數、字串陣列、字串

在stdafx.h中新增:    #define TTMSG_WARNLIST1 5000 在A.cpp中 B.sendhwnd = this; 傳送: 1)字串陣列 在A.cpp中 CStringArray strArryWarn; CString lsv_C

javascript實現類似php 的var_dump

fun 道理 highlight 建議 int brush 沒有 找到 object javascript語言中的調試功能少得可憐,如果涉及到第三方返回的對象數據更是使得開發程度加大。想到php中的var_dump,print_r簡單好用,極大程序上方便了開發工作,在網上亂