sort命令

sort   #按照字典序排序
sort -n #以数值来排序,避免10比2小的情况
sort -k #如果文件有多列,指定排序的列
sort -r #逆序排列

uniq 命令

一般结合sort命令,出去文件中重复的行

sort testfile | uniq   #删除文件中重复出现的行
sort testfile | uniq -c #删除文件中重复出现的行,并在行首显示该行重复出现的次数。

awk 命令

NF                 浏览记录的域的个数,亦统计的是每行列的总数
NR 已读的记录数,亦有多少行
$0变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推。
$NF是number finally,表示最后一列的信息
# 输出包含"re" 的行
$ awk '/re/ ' log.txt # 输出第二列包含 "th",并打印第二列与第四列
$ awk '$2 ~ /th/ {print $2,$4}' log.txt $ awk '$1==2 {print $1,$3}' log.txt
#输出第一列等于2,并打印第一 和第三列 取出某一列中包含_的列
$ awk 'BEGIN{FS = " "}{for (f=1; f <= NF; f+=1) {if ($f ~ /_/) {print NR,$f}}}' pride.txt >output
$ awk -F ' ' '{for (f=1; f <= NF; f+=1) {if ($f ~ /_/) {print $f}}}' result1 > file.out

grep 命令

grep表达式的格式:grep  [选项]  ”模式“  [文件]

常用选项

  • -E :开启扩展(Extend)的正则表达式。
  • -i :忽略大小写(ignore case)。
  • -n :显示行号

正则表达式

  • .              #匹配任意一个字符。
  • [abc]       #表示匹配一个字符,这个字符必须是abc中的一个。
  • [a-zA-Z]  #表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
  • [^123]     #匹配一个字符,这个字符是除了1、2、3以外的所有字符。
  • [0-9]        #匹配一个数字
  • {m,n}       #匹配其前面出现的字符至少m次,至多n次。
  • ^        #锚定行首
  • $       #锚定行尾。^$  用于匹配空白行。
  • a|b         #匹配a或b,注意a是指 | 的左边的整体,b也同理。比如 C|cat 表示的是 C或cat,而不是Cat或cat,如果要表示Cat或cat,则应该写为 (C|c)at
grep key  file.txt #输出file.txt包含key的行

tr 命令

用于转换或删除文件中的字符。

tr  -d '\t'  #删除文件中'\t'字符
tr -s ' ' '\n':缩减连续的空格为换行符
cat testfile |tr a-z A-Z #将文件中的小写字符转化为大写字符

wc命令

一般是统计行数或者是字数

-c  只显示Bytes数。
-l 只显示行数。
-w 只显示字数。

文件拷贝命令

scp [可选参数] 源文件 目标文件
scp -r /home/steve/music/ antonio@172.168.13.34:/home/antonio/file 将本地文件夹music拷贝到远程file路径下
scp -r antonio@172.168.13.34:/home/antonio/file /home/steve/music/ 将远程文件file拷贝到本地文件夹music下 cp -r source target

查看目录相关操作

du -sh * #查看当前目录下各个文件及各目录占用空间大小 
du -sh #查看当前文件夹占用大小
df -f #查看硬盘大小及使用情况
ll |wc -l #计算文件的数量
 

其他命令

wget link #下载文件
ps -ef| grep get_mp3.py #打印get_mp3.py进程的信息

解压

*.tar 用 tar –xvf 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.tar.bz2用tar –xjf 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压

压缩

zip -r 1.zip  *to #压缩以to结尾的文件,压缩文件名为1.zip,递归压缩当前目录下的文件

linux shell脚本命令的更多相关文章

  1. linux 基础 shell脚本命令

    #########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...

  2. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  3. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  4. linux shell 脚本攻略学习20--awk命令入门详解

    awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...

  5. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  6. Linux shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  7. Linux Shell 脚本入门

    linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...

  8. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  9. 阿里Linux Shell脚本面试25个经典问答

    转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...

随机推荐

  1. shell-homeworkone

    1.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否则显示”/etc/inittab is a small file.” ...

  2. go语言设计模式之state

    state.go package main import ( "fmt" "math/rand" "os" "time" ...

  3. LG5202 「USACO2019JAN」Redistricting 动态规划+堆/单调队列优化

    问题描述 LG5202 题解 \[opt[i]=xx+(cnt[i]-cnt[yy]<=0)\] 发现\(cnt[i]-cnt[yy] <= 0\)只能有两种取值 于是直接堆优化即可 \( ...

  4. WPF 精修篇 数据绑定 更新通知

    原文:WPF 精修篇 数据绑定 更新通知 开始更新一点有意思的了 首先 数据绑定  其中之一 Element 绑定 看例子 <Window x:Class="WpfApplicatio ...

  5. fis3打包中的一些注意事项

    1.在html文件中,如果在标签的style属性内添加路径,fis不会识别改路径并打包,如 2.fis主要针对静态文件进行打包.对其他文件打包会出现一些问题. 比如jsp页面.下面的例子script. ...

  6. 基于UDP协议的socket套接字编程

    目录 一.UDP套接字简单示例 1.1 服务端 二.客户端 三.UPD套接字无粘包问题 3.1 服务端 3.2 客户端 四.qq聊天 4.1 服务端 4.2 客户端1 4.3 客户端2 4.4 运行结 ...

  7. electron窗口间通信

    以下代码均来自于我开发的开源软件:想学吗 窗口A的渲染进程发消息给主进程 const { clipboard, ipcRenderer, remote } = require('electron'); ...

  8. 巧妙利用selenium中的JS操作来处理特殊的文本框

    在使用selenium对页面进行相关操作时,有时候会遇到以下三种情况: 1.日期框:无法直接输入文本,必须要选择某一天的日期并点击才会填入文本框: 2.检索框:可以直接输入文本,但必须要点击根据输入的 ...

  9. WPF 修改Webbrowser的IE版本小程序(32位)

    偶尔用Winform的Webbrowser,但是ie版本太低. 手改改注册表了太慢了. 弄个了程序,修改的代码时网上的,自己就是写了个界面. 支持IE11. XAML页面代码 <Window.R ...

  10. .net post请求wcf

    class Program { static void Main(string[] args) { }); var r = HttpHelper.PostRequest("http://lo ...