Shell逐行讀取檔案的4種方法_linux shell

在Linux中有很多方法逐行讀取一個檔案的方法,其中最常用的就是下面的指令碼裡的方法,而且是效率最高,使用最多的方法。為了給大家一個直觀的感受,我們將通過產生一個大的檔案的方式來檢驗各種方法的執行效率。方法1:while迴圈中執行效率最高,最常用的方法。複製代碼 代碼如下:function while_read_LINE_bottm(){While read LINEdoecho $LINEdone  <

Shell指令碼實現防止國外ip訪問伺服器_linux shell

客戶的要求,不想讓外國的ip來訪問伺服器,本來要讓機房在上端路由解決,但是那些人不鳥你!!!~~~~這樣的話,只能自己用iptables解決了~~~~~~~~~關於 ip庫  大家可以去 http://www.ipdeny.com/ipblocks/  下載,  這裡有各個國家的~~~    複製代碼 代碼如下:#下載ip庫#wget

Shell建立使用者並產生隨機密碼指令碼分享_linux shell

建立隨機數的方法:複製代碼 代碼如下:1~~~~/dev/urandom在Linux中有一個裝置/dev/urandom是用來產生隨機數序列的。利用該裝置我們可以根據在需要產生隨機字串。比如我們要產生一個8位的字母和數字混合的隨機密碼,可以這樣:複製代碼 代碼如下:[linux@test /tmp]$ cat /dev/urandom | head -1 | md5sum | head -c 86baf92822~~~~其實,linux已經提供有個系統內容變數了。複製代碼

Shell指令碼實現大量新增使用者_linux shell

複製代碼 代碼如下:useradd.sh#!/bin/bashfor name in tom joy john mark jamesdo  useradd $name    echo "redhat" | passwd --stdin $namedone好了,執行結束後會自動建立使用者tom、joy、john

Shell中實現“多線程”執行指令檔完美解決方案_linux shell

即比如我有100個可執行檔,互相間沒有特別的先後執行關係,如CODE:複製代碼 代碼如下:job_1job_2job_2.....job_100想用csh/bash來多線程調用執行。比如一次開5個線程,那麼job_1,2,3,4,5一起先開始,那麼其中任何一個線程如果先執行完成,則繼續執行下一個沒有初執行過的檔案,如job_6,7,8....,這樣一直以所指定的線程數來執行所有100個檔案。我本來想用 "&"

Shell指令碼實現memcache快取命中率監控_linux shell

公司有幾個伺服器開著多個memcached進程,除了要監控他們是否正常telnet通,執行個體是否存在外還要監控他們的快取命中率。針對他們的快取命中率進行警示。網上有個perl寫的,需要編譯安裝。有個python寫的,貼過來運行下,發現python庫版本不對。這麼簡單的指令碼搞得這麼費勁,就手動寫了個。越寫就越覺得shell處理資料,函數,字串數組這方面太弱勢了。還好,湊合用吧。這個指令碼比較簡單,通過check_tcp指令碼擷取memcached的stats資訊。然後將該資訊格式化成一個字串,

Shell實現的一些數學運算自訂函數分享_linux shell

最近指令碼中總是需要計算,每次都用awk會比較麻煩,就把awk的加減乘除封裝了下,每次調用直接source math.sh就可以了。有些要點要指出,以免以後修改的時候忘記:    1、對兩個數字進行判斷是否為數字,使用awk進行匹配2、對兩個參數進行迴圈校正(寫兩次校正顯得笨拙),需要使用變數的引用${!para}。複製代碼 代碼如下:#!/bin/bash#############################重寫shell中基本數學運算+ - × /#時間:2

一個監控Squid運行進程數並自動重啟的簡潔Shell指令碼分享_linux shell

複製代碼 代碼如下:#!/bin/shwhile sleep 30doSquidNum=`ps -ef|grep squid|grep -v grep|wc -l`#HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80狀態if [ $SquidNum != 3 ] ; then/etc/rc3.duid startadddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`echo "$adddate

unix編程建立首碼固定的臨時檔案代碼分享_linux shell

參數:pathname,儲存臨時檔案的路徑檔案名稱,需要手動free()掉。dir,臨時檔案的路徑,如果TMPDIR環境變數不為空白,則此參數被忽略,轉而使用環境變數。pfx,臨時檔案名稱的首碼,只使用前5個字元。註:建立的臨時檔案需要手動unlink()掉。建立臨時檔案的函數 複製代碼 代碼如下:int  Make_temp_file(char **pathname,const char *dir,const char *pfx){ char *ptr,*tmp;

實現shell終端代碼分享(可使用者登入 實現系統命令)_linux shell

複製代碼 代碼如下:#include"apue.h"int userlogin(struct passwd **);int main(){ int ret,i=0; long ret_cwd; struct passwd *pw; char buf[128],hostname[16],usercwd[128]; char *ptmp1; do{  ret =

Linux shell指令碼中字串串連的方法_linux shell

如果想要在變數後面添加一個字元,可以用一下方法:複製代碼 代碼如下:$value1=home$value2=${value1}"="echo $value2把要添加的字串變數添加{},並且需要把$放到外面。這樣輸出的結果是:home=,也就是說串連成功。又如:複製代碼 代碼如下:[root@localhost sh]# var1=/etc/[root@localhost sh]# var2=yum.repos.d/[root@localhost sh]# var3=${var1}${var2}[

批量轉換目錄下檔案編碼的shell指令碼代碼_linux shell

一例批量轉換目錄下檔案編碼的shell指令碼代碼。需求描述:由於從window轉linux過來,很多原來win下的gbk檔案需要轉換成utf8。以下指令碼僅判斷非utf8檔案轉換成utf8檔案,並且預設非utf8檔案為gbk,如果檔案類型不一致需要修改。例子:複製代碼 代碼如下:#!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){    for file

linux Nginx 日誌指令碼_linux shell

任務計劃 crontab -l 1 15 * * * /home/dongnan/sh/split.sh >> /home/dongnan/sh/cron.log 2>& nginx 日誌 ls /var/log/nginx/ 20130730-access.log.gz  20130801-access.log.gz  20130803-access.log.gz 20130730-error.log.gz  

最快捷登陸ssh 伺服器的方法_linux shell

不知道各位同鞋有沒有管理數百台的Linux 作業系統的經曆,雖然通過ssh私匙可以免密碼登陸,但是每天輸入幾十遍的伺服器ip 地址,我真的好像砸碎鍵盤,所以後來學會偷懶利用shell 指令碼登陸,思路只是把ip 地址的最後一位傳遞給shell 指令碼,就可以最快速登陸了,如果有多個不同子網的ip 地址,建立相應的shell 指令碼即可。 使用方法 [zongming@monitor ~]$ ssh5 113 環境變數 echo $PATH

linux下保留檔案系統下剩餘指定數目檔案的shell指令碼_linux shell

本節內容:保留檔案系統下剩餘指定數目的檔案例子:複製代碼 代碼如下:#!/bin/bash #------------------------------- #Description: Back up your files#site: www.jb51.net#------------------------------- #shell 變數path_source=/mnt/fifth/shell path_backup=/mnt/fifth/backup/shellbackup

利用kernel提供的介面列印進程號(pid)_linux shell

c檔案printPid.c複製代碼 代碼如下:#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/sched.h>#include <linux/list.h>static __init int printPid(void) //安裝模組函數{    struct

Linux核心鏈表實現過程_linux shell

關於雙鏈表實現,一般教科書上定義一個雙向鏈表節點的方法如下:複製代碼 代碼如下:struct list_node{stuct list_node *pre;stuct list_node *next;ElemType data; }即一個鏈表節點包含:一個指向前向節點的指標、一個指向後續節點的指標,以及資料域共三部分。但查看linux核心代碼中的list實現時,會發現其與教科書上的方法有很大的差別。來看看linux是如何?雙鏈表。雙鏈表節點定義複製代碼 代碼如下:struct

shell中case的用法學習筆記_linux shell

shell中的case語句:可以把變數的內容與多個模板進行匹配,再根據成功匹配的模板去決定應該執行哪部分代碼。使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 語句組 ;;模板3 [ | 模板4 ] … ) 語句組 ;;esaccase語句的匹配是從上往下地匹配順序。因此,case語句編寫的原則是從上往下,模板從特殊到普通。在C語言裡,case語句中有default模板,而在shell程式設計中,可能將模板寫成*,就可以完成相同的功能。例1:複製代碼 代碼如下:#!/bin/

Shell指令碼實現監控iptables規則是否被修改_linux shell

最近看了一篇通過nagios實現MD5即時監控iptables狀態的文章,就想是否可以用shell也做到監控iptables規則改變,經過實驗,就有了下面這個指令碼.系統:centos 5.x指令碼內容:cat check_iptables.sh複製代碼 代碼如下:#!/bin/bashif [ ! -f .count ];then  iptables -L -n|md5sum|awk '{print $1}' > ~/.count  exit 1else 

Shell指令碼實現刪除一年前檔案功能分享_linux shell

複製代碼 代碼如下:#!/bin/bash#Description: delete files#=====定義當前年份,月份以及檔案所在目錄=====#currentYear=`date

總頁數: 301 1 .... 255 256 257 258 259 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.