Linux 常用文件操作命令

# seq
seq:单词sequence序列的缩写,功能是输出序列化的一串整数。
# 输出 1-5,分隔符是换行符
seq 5
# 输出 2-8,分隔符是空格
seq -s ' ' 2 8
# 输出 1-10 的奇数
seq -s ' ' 1 2 10
# 使用-f来指定输出格式,%后面表示的是数字的位数,默认为%g,示例中的%2g表示两位输出,不足两位默认补空格
seq -f "%2g" -s ' ' 8 12
seq -f "%04g" -s ' ' 8 12
# 前面加自定义字符串
seq -f "sss%04g" -s ' ' 8 12
# 保留小数点后3位
seq -f "%.3f" 9 11
# -w 输出数字等宽
seq -w 1 2 100


# paste 从在命令行上指定的文件中读取输入。用于合并文件的列。
# paste 指令会把每个文件以列对列的方式,一列列地加以合并。

# 将两个文件按照行合并,同时指定间隔符
paste -d , test.log test1.log
# 将两个文件串行合并
paste -s test.log test1.log

paste -d , <(seq 6) <(seq 6) <(seq 6)
paste -s <(seq 6) <(seq 6) <(seq 6)


#xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。

seq 10 | xargs -n 4
# 多行转换为一行
sed ':a; N;s/\n/ /; ta' a.txt  ## 利用sed的跳转功能

time 统计命令运行的时间

# tr

# tr 把换行符替换为空格,利用sed命令在末尾添加换行符
cat keys.txt | tr "\r\n" " " | sed 's/$/\n/' 

# sed全称是:Stream EDitor
# sed是一种流编辑器,它一次处理一行内容。

sed 's/,$/ /'    将最后一个 ,(逗号)替换为空


# awk

awk BEGIN{RS=EOF}'{gsub("\r\n"," ");print}' keys.txt

日志统计bash

#!/bin/bash
# 系统日志统计, 统计不同用户的调用次数

# $1参数代表统计结果文件名字,脚本运行的第一个参数

# 读取用户keys,整合成一行,空格分隔
userKeys=`cat keys.txt | tr '\r\n' ' '`
echo '所有用户的key:' $userKeys > $1

# 读取日志文件名字
logsName=`ls *.log`
echo $logsName

# 循环统计每一个用户的调用次数
for userKey in $userKeys
do
    echo $userKey "调用次数是:" | tr '\r\n' ':' >> $1
    grep $userKey $logsName | wc -l >> $1
done
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值