Shell(二)

find:

find . -type d -print  #打印目录
find . ! -name "*.txt" -print  #打印不以.txt结尾的文件
find . -type f "*.php" ! -perm 644 -print  #打印权限不是644的php文件
find . -type f -name "*.php" -perm 644 -print
find . -type f -name "*.swp" -delete
find . -type f -size +2k # 文件大小超过2k的 b c k w M G
find /home/effaae/ -name "*.txt" -print 
find . -iname "example*" -print #忽略大小写
find .\(-name "*.txt" -o -name "*.pdf" \) -print #打印所有的txt和pdf文件
find /home/users -path "*aeea*" -print #匹配文件路径或文件
find . -maxdepth 1 -type f -print #只列出当前目录下的所有普通文件;向下的最大深度为1
find . -mindepth 2 -type f -print
find . -type f -amin +7 -print #打印出访问时间超过7分钟的所有文件
find . -type f -user Benjamin -print #打印出用户Benjamin拥有的所有文件
find . -type f -user root -exec chown Benjamin {} \; #将文件的所有权更改成另一个用户
find . -type f -name "*.c" -exec cat {} \;>all_c_files.txt #将给定目录中的所有C程序拼接起来写入单个文件all_c_files.txt

xargs:

cat file.txt | xargs #将多行文本转换成单行输出
    cat file.txt | xargs -n 3 #控制每行3个元素换行输出
    echo "splitXsplitXsplitX" | xargs -d X #指定定界符 输出结果split split split
    cat args.txt | xargs -n 1 ./cecho.sh 
    find . type f -name "*.txt" -print0 | xargs -0 rm -f #find匹配列出所有的.txt文件,然后用xargs删除。

tr:

    echo "JOENONOE" | tr 'A-Z' 'a-z'tr '[:upper:]' '[:lower:]' #将字符由大写转成小写。
    cat text | tr '\t' ' '
    echo "hello 123 world 567" | tr -d  '0-9' #将字符中的数字删除并打印。
    tr -s ' ' #压缩重复的空格 

sort:

sort -n file.txt #按数字进行排序
    sort -r file.txt #逆序排序
    sort -k 2 data.txt #依据第二列进行排序

uniq:

uniq只能用于排过序的数据输入。
    uniq sorted.txt #消除重复的内容
    sort unsorted.txt | uniq 或 sort -u unsorted.txt
    sort unsorted.txt | uniq -c #统计各行在文件中出现的次数。
    sort unsorted.txt | uniq -d #找出文件中重复的行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值