Linux命令整理5,sort,awk,head,tail命令

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

运行shell脚本的两种方式:


nohup ./testMain.sh > /dev/null 2>&1


sh testMain.sh也可以执行脚本


nohup  sh testMain.sh > /dev/null 2>&1 &


================================================

awk命令学习

[shell]$ more filet.txt 
123 456
789 00

[shell]$ more filet.txt | awk '{print $0}'
123 456
789 00
[shell]$ more filet.txt | awk '{print $1}' 
123
789
[shell]$ more filet.txt | awk '{print $2}' 
456
00


知其然,知其所以然

了解其工作原理。在命令行中输入以下命令:
$ awk '{ print }' /etc/passwd
您将会见到 /etc/passwd 文件的内容出现在眼前。现在,解释 awk 做了些什么。调用 awk 时,我们指定 /etc/passwd 作为输入文件。执行 awk 时,它依次对 /etc/passwd 中的每一行执行 print 命令。所有输出都发送到 stdout,所得到的结果与与执行catting /etc/passwd完全相同。
现在,解释 { print } 代码块。在 awk 中,花括号用于将几块代码组合到一起,这一点类似于 C 语言。在代码块中只有一条 print 命令。在 awk 中,如果只出现 print 命令,那么将打印当前行的全部内容。
       这里是另一个 awk 示例,它的作用与上例完全相同:
              $ awk '{ print $0 }' /etc/passwd
在 awk 中,$0 变量表示整个当前行,所以 print 和 print $0 的作用完全一样。
如果您愿意,可以创建一个 awk 程序,让它输出与输入数据完全无关的数据。以下是一个示例:
$ awk '{ print "" }' /etc/passwd
只要将 "" 字符串传递给 print 命令,它就会打印空白行。如果测试该脚本,将会发现对于 /etc/passwd 文件中的每一行,awk 都输出一个空白行。再次说明, awk 对输入文件中的每一行都执行这个脚本。以下是另一个示例:
$ awk '{ print "hiya" }' /etc/passwd
运行这个脚本将在您的屏幕上写满 hiya
参考:
http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM
================================================


将经过shell运算过的值赋值给变量

[shell]$ vi a.sh 
num=$(more filet.txt |wc -l|awk '{print $1}')
echo $num
[shell]$ ./a.sh 
2

======================== ========================
用head或tail指令指定查阅的行数

例如:查阅文件前20行:  head –20 file_name
             查阅文件后10行: tail –10 file_name
============================ ============================



================================== ==================
  sort 命令学习
sort 是很有趣的指令,他可以幫我們進行排序,而且可以依據不同的資料型態來排序喔! 例如數字與文字的排序就不一樣。此外,排序的字元與語系的編碼有關,因此, 如果您需要排序時,建議使用 LANG=C 來讓語系統一,資料排序比較好一些。

[root@www ~]# sort [-fbMnrtuk] [file or stdin]
選項與參數:
-f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b  :忽略最前面的空白字元部分;
-M  :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『純數字』進行排序(預設是以文字型態來排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的資料中,僅出現一行代表;
-t  :分隔符號,預設是用 [tab] 鍵來分隔;
-k  :以那個區間 (field) 來進行排序的意思

Linux命令整理5,sort,awk,head,tail命令_第1张图片
sort 同樣是很常用的指令呢!因為我們常常需要比較一些資訊啦! 舉個上面的第二個例子來說好了!今天假設你有很多的帳號,而且你想要知道最大的使用者 ID 目前到哪一號了!呵呵!使用 sort 一下子就可以知道答案咯!當然其使用還不止此啦! 有空的話不妨玩一玩!
参考:

http://linux.vbird.org/linux_basic/0320bash.php#sort


VI用什么命令到文件头和文件尾?
1G到第一行,G到最后一行


VI用什么命令到行首和行尾?
^ ,$

转载于:https://my.oschina.net/forrest420/blog/108867

你可能感兴趣的:(Linux命令整理5,sort,awk,head,tail命令)