讀取檔案的每一行內容并輸出
#!/bin/bash
# 方法1
while read line
do
echo $line
done < a.txt
# 方法2
cat a.txt | while read line
do
echo $line
done
# 方法3
# for line in `cat a.txt`
for line in $(cat a.txt)
do
echo $line
done
檔案內容排序工具 sort 和 uniq
sort:sort是一個以行為單位對檔案內容進行排序的工具,也可以根據不同的資料型別來排序,
用法:sort [選項] 引數
- -n:按照數字進行排序
- -r:反向排序
- -u:等同于uniq,表示相同的資料僅顯示一行
- -f:忽略大小寫 -b:忽略每行前面的空格 -M:按照月份進行排序
- -t:指定分隔符,默認使用Tab鍵分隔 -o <輸出檔案>:將排序后的結果轉存至指定檔案 -k:指定排序區域
[root@localhost ~]# sort /etc/passwd [root@localhost ~]# sort -r /etc/passwd
uniq:去除重復行,并統計每行出現的次數(相鄰行),uniq工具通常與sort命令結合使用,用于報告或者忽略檔案中的重復行,
用法:uniq [選項] 引數
- -c:進行計數
- -d:僅顯示重復行(這里的重復行,僅限相鄰行重復,如果有兩行重復但是不相鄰,則不滿足)
- -u:僅顯示出現一次的行
[root@localhost ~]# uniq -c test.txt
[root@localhost ~]# uniq -u test.txt
[root@localhost ~]# sort -n test.txt | uniq -c # 洗掉test.txt檔案中重復行,并統計該行重復次數
[root@localhost ~]# sort -n test.txt | awk '{if($0!=line)print; line=$0}'
[root@localhost ~]# sort -n test.txt | sed '$!N; /^\(.*\)\n\1$/!P; D'
統計檔案的行數、字數、位元組數, 并將統計結果顯示輸出
[root@localhost ~]# wc -l /etc/passwd # 統計檔案的行數(里面內容的行數) [root@localhost ~]# wc -c /etc/passwd # 統計檔案的位元組數 [root@localhost ~]# wc -m /etc/passwd # 統計檔案的字符數 [root@localhost ~]# wc -w /etc/passwd # 統計單詞出現次數 [root@localhost ~]# wc - lcw file1 file2 [root@localhost ~]# ls -l | wc -l # 用來統計當前目錄下的檔案數
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/156791.html
標籤:Linux
上一篇:關于重學Linux的隨筆
