1.1. 取出最近訪問的5個普通檔案,並要求輸出檔名和最後的訪問時間
執行命令:
$ls –lut|grep 「^-」|head -5|cut –c41-
解析:-t表示ls命令在輸出時會按修改時間來排序;-u表示ls –l命令顯示出檔案的最後訪問時間;」^-」是正規表示式,表示以橫桿字元』-』起始的行;通過cut命令把無關資訊刪除,選項-c指定了cut命令會保留並輸出那些字元。
範圍描述
n第n個字元
n-從第n個字元一直到當前行結束
n-m從第n個字元一直到第m個字元
-m從第乙個字元一直到第m個字元
1.2. 假如有兩個檔案name.txt和tel.txt,它們分別記錄了員工的姓名和**號碼,如果希望把兩個檔案中的使用者名稱和**號碼一一對應起來,該如何操作?
案例:name.txt內容如下:
matti
aarnio
dragos
acostachioaie
mark
adler
monalisa
agrawal
tel.txt內容如下:
555-0542
555-1234
555-1256
555-2345
555-3456
555-4567
555-5678
555-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()!?<>"\n\t''' < $1 |\
#把所有大寫字母轉換為小寫字母
tr 'a-z' 'a-z'|\
#把連續重複的空格符替換為乙個空格符
tr -s ''|\
#把空格符轉換為換行符
tr '' '\n'|\
#把相同的單詞放到一起
sort|\
#刪除重複單詞,並進行統計
uniq -c|\
#根據重複的次數進行排序
sort -rn
}echo
echo "this script can count words of a specified file."
#使用空命令冒號構建迴圈
while :
doread -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 ;;esac
done
exit 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
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命令進行處理,目的是刪除目錄列表中的第一行。
文字處理 字串
字串常用操作 漢字到拼音的轉換 x 125 so o x so 175 sh x x sh 7d se e x se 1.250000e 02 d,c 65,65 65,a print format 1 3 保留3位小數 0.333 format 3.5 格式化為百分數 350.000000 for...
字串和文字處理技巧
複雜文字分隔 你需要將乙個字串分割為多個字段,但是分隔符 還有周圍的空格 並不是固定的。解決辦法 1 line asdf fjdk afed,fjek,asdf,foo 2 import re 3 re.split r s s line 4 asdf fjdk afed fjek asdf foo ...
python之文字處理 字串(九)
在python中我們遇到的最多的就是字串了,那麼對於它的ixie 操作我們肯定是要非常熟悉的了,那我們就先來了解一下我們的轉義字元以及字串的格式化吧 轉義字元 在字串中某些特定的符號前加乙個斜線之後,該字元被解釋成另外一種含義,不再表示原來的字元 一些常見的轉義字元 轉義字元 含義 b 退格,將游標...