国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

第5章 文本處理和字符串操作

2019-11-08 18:22:39
字體:
來源:轉載
供稿:網友

1.     常用的文本操作

1.1.       取出最近訪問的5個普通文件,并要求輸出文件名和最后的訪問時間

執行命令:

$ls –lut|grep “^-”|head -5|cut –c41-

 

解析:-t表示ls命令在輸出時會按修改時間來排序;-u表示ls –l命令顯示出文件的最后訪問時間;”^-”是正則表達式,表示以橫桿字符’-’起始的行;通過cut命令把無關信息刪除,選項-c指定了cut命令會保留并輸出那些字符。

 

選項-c有兩種指定參數的方式:一種是通過橫桿字符’-’指定一個范圍;另一種是通過逗號連接多個范圍。范圍有如下一些指定的方式:

范圍

描述

N

第N個字符

N-

從第N個字符一直到當前行結束

N-M

從第N個字符一直到第M個字符

-M

從第一個字符一直到第M個字符

 

1.2.       假如有兩個文件name.txt和tel.txt,它們分別記錄了員工的姓名和電話號碼,如果希望把兩個文件中的用戶名和電話號碼一一對應起來,該如何操作?

 

案例:

name.txt內容如下:

MattiAarnioDragosAcostachioaieMarkAdlerMonalisaAgrawal

tel.txt內容如下:

555-0542555-1234555-1256555-2345555-3456555-4567555-5678555-6789 

命令執行:

 $paste –d’:’ name.txt tel.txt|cat -n

 

1.3.       檢查當前系統中的各種Shell程序,統計出它們各被多少個用戶使用,并把統計結果按照從多到少的順序打印出來。

執行命令:

 $cat /etc/passwd | cut –d: -f7|sort|uniq –c|sort –nr

解析:選項-f7表示每行的第7個字段;uniq –c是合并統計;sort –nr 選項-n表示按照數字的大小排序,選項-r表示從大到小顯示結果。

 

1.4.       統計文本文件中各個單詞出現的個數

案例:

#!/bin/bash#定義函數count,用來統計一個文件中的字數count(){    #函數需要一個參數才可以正確調用if [$# !=1]then    echo " Need one file parameter to work!"exit 1;fi#刪除標點符號和特殊字符#構建一個很長的管道命令,每一段都單獨寫在一行中,增加可讀性tr '+-=*.;:{}!?<>"/n/t''' < $1 |/#把所有大寫字母轉換為小寫字母tr 'A-Z' 'a-z'|/#把連續重復的空格符替換為一個空格符tr -s ''|/#把空格符轉換為換行符tr '' '/n'|/#把相同的單詞放到一起sort|/#刪除重復單詞,并進行統計uniq -c|/#根據重復的次數進行排序sort -rn}echoecho "This script can count Words of a specified file."#使用空命令冒號構建循環while :do    read -p "Enter the file path(or quit):"case "$REPLY" in   [QQ]|[Qq][Uu][Ii][Tt])     echo " Bye." #在輸入大、小寫quit時,退出  echo "$REPLY"  exit 0 ;;*)     #判斷輸入的是一個可讀的普通文件,并且內容不為空 if [ -f "$REPLY" ] && [ -r "$REPLY" ] && [ -s "$REPLY" ] then                      #當用戶輸入一個合法文件時                      #調用count函數統計文件的單詞個數                      count "$REPLY"   else         #如果輸入了非法文件,顯示不能處理它 echo "$REPLY can not be dealed with." fi  ;;esacdoneexit 0

 

語法:

tr [option] .. SET1 [SET2]     --SET1會被SET2替換

1.5.       所有特殊字符替換

省略

 

1.6.       把TAB轉換成空格符,且保證其他字符的位置不變

#cat命令的選項-T將把TAB字符顯示為^I

$cat –T TABS.txt

#使用expand命令把TAB字符替換為空格

$expand TABS.txt | cat -T

 

 

2.     其他操作

1          

2          

2.1         windows系統的文件與linux系統的文件之間進行轉換

Ubuntu Linux系統中,可以安裝tofrodos包,使用其中的fromdos命令和todos命令來轉換文本文件。

 

2.2         求一個字符串的長度

exPR length STRING

 

 

2.3         把某些命令的輸出格式化成一個表格

$(printf “PERMISSIONS LINKS OWNER GROUP SIZE DATE HH:MMFILE-NAME/n”;ls –l|sed 1d)|column –t

解析:命令ls –l|sed 1d輸出當前目錄下的文件列表,其中ls命令的輸出經過管道傳遞給sed 1d命令進行處理,目的是刪除目錄列表中的第一行。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中超| 临汾市| 通榆县| 绍兴市| 开封市| 雷州市| 九台市| 宜阳县| 基隆市| 河池市| 蓬安县| 芷江| 彭水| 大埔县| 治县。| 龙州县| 进贤县| 峨山| 镇江市| 澄江县| 松原市| 托克逊县| 松溪县| 正镶白旗| 垫江县| 唐海县| 长春市| 闽侯县| 广元市| 乌什县| 汾阳市| 屏东市| 天气| 平塘县| 扶余县| 娄底市| 临汾市| 宿迁市| 准格尔旗| 抚顺县| 怀柔区|