总结了一下平时刚入门需要会经常 使用的命令,也可以通过查看help来了解
1. less -N a.txt : -N 显示行号。less查看时, ma 当前位置标记为a, 'a 跳到位置a
2. grep '^case.*' a.txt : 在a.txt中搜索以case 开头的行,' ' 中包含的是正则表达式。
3. find . -exec ls -l { } \; # exec command ls -l after find results
4. sed -i '2,3s/t/a/g' a.txt #sed command, can change files directly, s--replace string
5. sed -i '$a this is a insert line ' a.txt #sed insert string after current line
6. 关于xargs的应用。-t 表示先答应命令再执行, -i 表示 后面用{} 来代表参数,一行一行的执行。-E可以用来使用其他分隔符号。
$ ls
1.txt 2.txt 3.txt log.xml
$ ls *.txt |xargs -t -i mv {} {}.bak
mv 1.txt 1.txt.bak
mv 2.txt 2.txt.bak
mv 3.txt 3.txt.bak
$ ls
1.txt.bak 2.txt.bak 3.txt.bak log.xml
7.使用curl的时候, 会发生命令执行完了,但没有显示, 此时可能是发生了重定向, 添加-L 选项试试。 添加-v查看详细的过程
8. 连续执行几个命令
命令队列,从左向右,依次执行以 ;
分隔的命令
命令队列,从左向右,依次执行以 &&
分隔的命令。前一个命令执行成功,后一个命令才能执行
echo ${var#*/}
其中 var 是变量名,# 号是运算符,*/ 表示从左边开始删除第一个 / 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符 (非贪婪匹配)
4. %% 号截取,删除右边字符,保留左边字符 (贪婪匹配)
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
5:
#只在目录中所有的.php和.html文件中递归搜索字符"main()"
# grep"main()" . -r --include *.{php,html}
#在搜索结果中排除所有README文件
# grep"main()" . -r --exclude "README"
#在搜索结果中排除filelist文件列表里的文件
# grep"main()" . -r --exclude-from filelist
下面用语 找到 正则表达式的内容grep出来, 并将 以' 为符号分割显示第二个
grep -o 'SourceFile\((.*)\)' ./config_sg7557.py | cut -d\' -f 2
grep -o 'SourceFile\((.*)\)' $1 | cut -d\' -f 2
grep -o 'HeaderFile\((.*)\)' $1 | cut -d\' -f 2
grep -o 'T55File\((.*\.t55.*)\)' $1 | cut -d\' -f 2