1. 程式人生 > >linux shell幾個小demo

linux shell幾個小demo

閒來無事,寫幾個shell script來練練手,發現我的mac下的shell和ubuntu下的shell有些語法還是有區別,網上的一些教程,在我的mac上並不適用,需要修改。

1、編寫shell指令碼,將/users/sunwangdong/desktop/wordcount下的大於10000k的檔案資訊輸出

我寫了一個名字為test.sh的指令碼,如下所示:

#!/bin/bash

for FILE in `ls /users/sunwangdong/desktop/wordcount/`
do
	#echo $FILE
	if [ -f "/users/sunwangdong/desktop/wordcount/$FILE" ]
	then
		#echo $FILE
		if [ `ls -al /users/sunwangdong/desktop/wordcount/$FILE | awk '{print $5}'` -lt 10000 ]
		then
			ls -al /users/sunwangdong/desktop/wordcount/$FILE | awk '{print $0}'
		fi
	fi
done
其中,第一行的for迴圈中,內部需要用反斜號`來表示,在第二個if語句中,首先要用ls將顯示的檔案通過管道發給awk,然後由awk來輸出第5列的內容,然後再判斷其值是否大於10000k,那麼這裡在和10000k比較之前,需要用反斜號闊住。結果如下:
[email protected] 1 sunwangdong  staff  6148  3  3 23:46 /users/sunwangdong/desktop/wordcount/.DS_Store
-rw-r--r--  1 sunwangdong  staff  1916  2 26 21:43 /users/sunwangdong/desktop/wordcount/pom.xml
-rw-r--r--  1 sunwangdong  staff  9789  2 26 21:29 /users/sunwangdong/desktop/wordcount/wordcount.iml
2、一個有序檔案:file_sort
內容是:
1
2
3
4
5
6

要對其進行切分成3個檔案 file.1 file.2 file.3
要求:第n行內容 < 任意檔案的n+1行內容
如:
file.1  
1
4
file.2
2
5
file.3
3
6
#!/bin/bash

i=1
while(($i<=6))
do
    int=$((i%3))
    if [ $int -eq 0 ]
    then
        int=$((int+3))
    fi
    awk -v num=$i 'NR==num {print}' file_sort >> file.$int
    i=$((i+1))    
done
很簡單易懂的方法實現,注意在if語句中,中括號前有一個空格,shell特別注重這些空格。

相關推薦

linux shelldemo

閒來無事,寫幾個shell script來練練手,發現我的mac下的shell和ubuntu下的shell有些語法還是有區別,網上的一些教程,在我的mac上並不適用,需要修改。 1、編寫shell指令

python turtle庫的demo

一、先上圖 一個同切圓和五角星 上程式碼 import turtle #同切圓 turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle.circle(80) turtle.circle(160) #五角星 from turtl

有關JS控制時間的Demo

一、Document自帶的定時和延時方法: 迴圈執行:var timeid = window.setInterval(“方法名或方法”,“延時”);window.clearInterval(timeid); 定時執行:var tmid = window.setTimeou

Linuxlinux常用基本命令 白專區簡單易懂

ls -l 17. 命令補全 linu 刪除目錄 poweroff 環境 密碼 family 顯示日期的命令 date顯示日歷的命令 cal -s, --hctosys以硬件時鐘為準,校正系統時鐘hwclock,clock:顯示硬件時鐘 -w, --sy

linux shell命令一起執行的種方法

在命令列可以一次執行多個命令,有以下幾種: 1.每個命令之間用;隔開 說明:各命令的執行結果,不會影響其它命令的執行。換句話說,各個命令都會執行, 但不保證每個命令都執行成功。 cd /home/PyTest/src; python suning.py

linux cd 命令的技巧

轉載:http://hi.baidu.com/pie138/item/488ebf5eac9e23404eff200b 說linux cd命令是Linux上使用率最高的兩個命令之一不為過吧(另一個當然是ls了),前兩天看到了一個linux cd命令的幾個小技巧,這裡順便記

步驟教你線上使用浪潮webblos做raid---簡單明了!

幾個小步驟教你線上使用浪潮webblos做raid 幾個小步驟教你線上使用浪潮webblos做raid 簡單明了教你線上使用浪潮webblos做raid,在這裏就不啰嗦了!直接進入正題---圖片表達!選擇configureation v….選擇新建 (new)選擇手動 (M

C++ string中的陷阱,你掉進過嗎?

stl 試題 賦值 clu ror ati world mod iostream C++開發的項目難免會用到STL的string。使用管理都比char數組(指針)方便的多。但在得心應手的使用過程中也要警惕幾個小陷阱。避免我們項目出bug卻遲遲找不到原因。1. 結構體中的

Ch1的問題

最大值 需要 是什麽 題目 優先級 思考 問題 優先 網上 接下來的題目需要更多的思考:如何用實驗方法確定以下問題的答案?註意,不要查書,也不要在網上搜索答案,必須親手嘗試——實踐精神是極其重要的。 問題1:int型整數的最小值和最大值是多少(需要精確值)? 問題2:d

Shell冷知識的總結(IFS,數組,替換,分割,查找)

org pack sqlit com track 創建 gawk read 什麽 IFS: 對IFS的用處直接進行說明,詳細IFS是幹什麽的...自行谷歌 首先創建一個 "a a",和"a"的文件: 然後我們 ls查看一下: --> ls a a a是這種。

NuGet的技巧

com packages 影響 頁面 兼容 images eight 記錄 cef 因為可視化庫程序包管理器的局限性,有很多需要的功能在界面中無法完成。 以下技巧均需要在“程序包管理器控制臺”中使用命令來完成。 一、改變項目目標框架後,更新程序包 當改變項目的目標框架後,無

高效的技巧

編碼格式 輸出 indent 默認 asc encode mps family 寫入 json json 序列化dumps之後,數據會變成很長的一行,如果,數據量非常大就會相當不易查看,使用indent參數來輸出便於查看的JSON。 如: { "終點站": "貴陽站", "

關於信息化的故事,摘自麥楓網

了解 信心 放大 凝聚力 是什麽 小故事 工作 組織 外部 企業的信息化的實行是增強企業反響才幹、進步企業效率、改進企業管理方式的一項工作,選擇實施一項性能良好的信息化軟件是作為信息化的主管的一項重要工作,下面我們就幾個小故事來看一看:  一、指導看電腦  這是發作在幾年前

關於docker使用的問題

atm who edi tbb dram ++z bug dockerd 生成 由於剛接觸docker踩了幾個坑,希望本文對網癮少年有所幫助。 Docker分CE版(社區版)和EE版(商用版),具體安裝流程參考文檔介紹,在此不再贅述。下面分Windows和Linux分別踩

OSPF中概念

虛鏈路 net ospf -1 路由器 rtu 網絡 概念 link OSPF的有以下幾種LSA: Type-1 lsa (router isa) Type-2 lsa (network lsa) Type-3 lsa (network summary lsa) Type

linux重要性能指標

swp 顯示 性能問題 平均值 web腳本 軟中斷 能力 求次數 contex 1、top top命令可以直觀的看出系統的CPU使用情況,以及內存的使用,當系統特別慢的時候可以通過這個命令查看CPU的使用,有可能是某個進程把CPU占滿了。 t:關閉或開啟CPU統計信息

PHP時間戳的問題示例

北京時間 content date def 當前 時間戳 day 問題 獲得 <?php header("Content-type:text/html;charset=utf-8"); //設置北京時間為默認時區 date_default

基於《構建之法》的見解

關系 希望 階段 周期 這一 都在 urn blog foo 第一章 計算機科學和軟件工程的關系 中國大陸的高校中大致有下面三種將計算機軟件的機構: 計算機科學與技術系或學院 軟件學院 軟件工程系、軟件工程學院 問題1: 這一章有講到

Python的程序,其實我覺得可以稱作初學時的基礎算法

基本 什麽 否則 col 重新 保留 put span pri 昨天學習的,今天做一下整理,以前學過幾天c,感覺什麽都沒有搞出來,有點泄氣,看到Python後試試,從最基本的東西學起,希望不要辜負我的這一點熱情。 if語句的應用 1 n=1 2 while

技術好卻進不了大公司?iOS程序員面試的技巧你可要收好了

朋友 知識 了解 一點 今天 刪除 就會 為什麽 年輕 前言: 有很多程序員,專業技術挺好,項目經驗充足,簡歷上金碧輝煌,也面試了很多國內大廠,但就是沒有一家能成功的。處境可以說是相當尷尬。 大家都知道程序員本身就是要吃年輕飯,不僅是技術活,也是體力活。早點跳槽,早點漲薪,