Linux Shell編程實戰---以逆序形式打印行
以逆序形式打印行
使用awk或tac可以搞定。
tac這個命令的名稱其實就是反過來書寫的cat。
(1)、使用tac
該命令的語法如下:
tac file1file2 …
它也可以從stdin中讀取:
$ seq 5 |tac
5
4
3
2
1
在tac中,\n是默認的行分隔符。但我們也可以用 -s "分隔符"選項指定自己的分隔符。
(2)、使用awk
使用awk的實現方式如下:
$ seq 9 |\
awk ‘{lifo[NR]=$0 }
END{for(lno=NR;lno>-1;lno--){ print lifo[lno]; }
}‘
在shell腳本中,\ 可以很方便地將單行命令拆解成多行。
這個awk腳本非常簡單。我們將每一行都存入一個關聯數組中,用行號作為數組索引(行號由
本文出自 “微小信的運維之道” 博客,請務必保留此出處http://weixiaoxin.blog.51cto.com/13270051/1963689
Linux Shell編程實戰---以逆序形式打印行
相關推薦
Linux Shell編程實戰---以逆序形式打印行
linux以逆序形式打印行使用awk或tac可以搞定。tac這個命令的名稱其實就是反過來書寫的cat。(1)、使用tac該命令的語法如下:tac file1file2 …它也可以從stdin中讀取:$ seq 5 |tac54321在tac中,\n是默認的行分隔符。但我們也可以用 -s "分隔符"選項指定自己
Linux Shell編程實戰---shell實現圖片下載神器
linux$ cat dowonload_image.sh #!/bin/bash ######################################### #圖片下載器 # #script_name: dowonload_image.sh
提供跟老男孩學Linux運維Shell編程實戰的第四、第五章源代碼
linux shell 第四章是講Shell變量知識進階與實踐;第五章是講變量的數值計算實踐;附件中包括源碼,請下載。該兩章在學習時要註意相關事項:1.註意標點符號的使用:例如,單引號,反引號,雙引號等;2.註意該要留空格的留空格;3.註意特殊變量的作用;4.內置變量的使用;5.算術運算任的使用。本文
linux--shell編程(三)條件判斷及算術運算
寫一個腳本 head bsp 如何 cut inittab 引用 有用 color 練習:寫一個腳本判斷當前系統上是否有用戶的默認shell為bash; 如果有,就顯示有多少個這類用戶;否則,就顯示沒有這類用戶; #!/bin/bash # grep ‘\<ba
Linux shell 編程
shell概念; shell編程; shell腳本shell 編程概念(1) shell是一種命令行解釋器,外殼有很多種類(2) shell 看成是Linux內核和用戶溝通的橋梁,用戶默認不能直接操作內核(3)可以通過shell外殼去操作,用戶指令傳遞給shell,傳遞給Linux內核,內核接受去處理(4
shell學習筆記1 【linux shell 編程從初學到精通第2版】
$1 註釋 文件名 man 輸出 當前 進制數 2.4 it is 已登錄用戶的個數: who | wc -l 查看系統有哪些用戶登錄 : who 新建一個文件/bin/ct11,在文件中輸入一條命令,chmod為該文件設置執行權限 # cat > /bin/ct
Golang Linux Shell編程(一)
name 等待 inux 執行 shell. 標準輸出 包裝 pos github 1.調用系統命令 exec包執行外部命令,它將os.StartProcess進行包裝使得它更容易映射到stdin和stdout,並且利用pipe連接i/o func Command(name
Linux Shell 編程 教程 常用命令
pos post lin blog 常用 教程 OS body linu 概述: 一: 1. 2. 3. 二: 1. 2. 3. 三: 1. 2. 3. 四: 1. 2. 3. 五: 1. 2. 3. 六: 1. 2. 3.
Linux Shell編程之基本概念
Linux Shell編程的簡單操作Shell編程其實就是以bash的為基礎,將多個命令組合起來的程序。嚴重註意$hostname與$(hostname)之間的區別$hostname是取hostname變量的值$(hostname)是取hostname命令的執行結果Shell的基本格式第一行:#!/bin/b
Linux Shell編程之算術運算
Linux Shell編程的簡單操作+ 加- 減* 乘/ 除** 次方% 取余這些運算符號在一些場景下,需要轉義。比如說在通配符的場景下運算必須是兩個括號或者一個中括號let 運算後不顯示結果 而且需要一個變量來保存計算結果常規的運算符號不好使如果不想使用let 可以使用兩個括號 或者一個中括號expr
Linux Shell編程之測試條件
Linux Shell編程的簡單操作執行命令並利用命令狀態返回值來判斷某些狀態echo $? 0代表成功,非0代表不成功測試表達式數值比較-eq 等於返回值是1,說明2不等於3-ne 不等於返回值是0 說明2不等於3還可以直接使用中括號,而不需要輸入test關鍵字返回值為1 說明2等於2-gt 左側是否大於右
Linux Shell編程之特殊變量
Linux Bash編程的簡單操作$0 這個是腳本文件的路徑本身(相對路徑)如果當前目錄下有執行腳本文件,就不能寫絕對路徑進行執行。$# 這個變量用來記錄輸入參數的個數6就是本次執行命令時輸入的參數個數。$* 這個變量記住了所有輸入的參數$@ 這個變量也記住了所有輸入的參數那麽$@ 和$* 有什麽區別的?$@
Linux shell 編程(五):數組
array shell loop 數組 數組是有序的元素序列 。若將有限個類型相同的變量的集合命名,那麽這個名稱為數組名。組成數組的各個變量稱為數組的分量,也稱為數組的元素,有時也稱為下標變量。用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若幹元素按
Linux shell 編程(六):運算
運算 shell let expr 運算 表達式 表達式包含在或(())或[]內, 算數表達式:(()) ((expression)) 這個表達式是根據算術計算的規則來計算的。相當於let expression。 條件計算表達式:[] [expression] 這是內置命令tes
《shell編程實戰》第2章shell腳本入門
shell 編程 老男孩 bash 《shell編程實戰》第2章shell腳本入門1、shell是什麽shell是一個命令解釋器,它的作用是解釋執行用戶輸入的命令和程序,負責與用戶直接對話,把用戶的輸入解釋給操作系統,並處理各種各樣的操作系統的輸出結果,然後輸出到屏幕返回給用戶。簡單地說,sh
1 Linux shell 編程(七):流程控制語句
shell if else Linux 流程控制語句 在shell中如果在終端輸入多個命令,如果以&分隔則將命令放入後臺執行,如果以;分隔,則表示一個命令集合。shell允許使用邏輯操作符&&和||來作為命令分隔符,他們分別時AND和OR. && 如果前
Linux shell 編程(八):循環結構
for while until shell bash 循環語句 在shell中的循環語句如下: for while unitl case select for/while/unitl 必須以done結尾 for循環 for循環用來遍歷數組(數據列表)或執行計算語句。 在shell中
《shell編程實戰》第2章shell腳本入門(下)
shell 老男孩 腳本 1、sh和./的區別[root@thzzc1994 ~]# cat test.sh echo I am thzzc1994[root@thzzc1994 ~]# sh test.sh I am thzzc1994[root@thzzc1994 ~]# bash test.
《shell編程實戰》第3章shell變量基礎(下)
shell 老男孩 變量 1、設置登錄提示的兩種方法(1)/etc/motd[root@thzzc1994 thzzc]# echo this is thzzc test linux >/etc/motd[root@thzzc1994 thzzc]# cat /etc/motd this i
《shell編程實戰》第3章shell變量基礎(上)
shell 老男孩 變量 1、什麽是shell變量簡單地說,變量就是用一個固定的字符串代替更多更復雜的內容,該內容裏可能還會包含變量、路徑、字符串等其他的內容。變量是暫時存儲數據的地方及數據標記,所存儲的數據存在於內存空間中,通過正確地調用內存空間中變量的名字就可以取出與變量對應的數據。意義:使用