grep
查找模式字符所在的行:grep 'time: .*s' ${file} #查找类似于“time: 10.5s”的行
head/tail
取文件前x行或后x行:head -n x filename或tail -n x filename
sed:正则表达式
官方说明:sed, a stream editor
中文说明:sed的基础应用 - 每天1990 - 博客园
- 插入特定行:sed "15i contents" filename
- 删除\r换行符:sed -i 's/\r$//g' *.cpp
- 删除前缀后缀:sed -n "/time: .*s/p" ${file} | sed "s/s//" | sed "s/time: /${filename}: /" #前缀为time:,后缀为s
- 删除含某些关键词的行:sed -i '/key words/d' filename
- 将多个空格或TAB替换为一个:sed 's/[\t ]\+/ /g' a.txt或sed 's/\s\+/ /g' a.txt
join
合并数据文件:join a b #会将同行首的行合并,输出重定向时不能使用输入文件
vim
常用命令参考linux vi 编辑器常用命令 - 冉大猫6666 - 博客园
- 替换1::%s/.out[0-9,a-z]/\r/gc #%表示每一行,s表示替换,\r表示换行,g表示全局,c表示需要用户确认;
- 替换2::180,$s/^/Begin_/c #180,$表示从180行到末尾,^表示行首;
- 删除::%g/^[0-9]*$/d
awk
第二列开始除以10:awk -F , -v OFS=, '{for(i=2;i<=NF;i++) $i=($i/10); print}' test.csv #逗号为间隔符
cut
使用指定的分隔符来提取列:cut -d 分隔符 -f 列号 文件名。
【待续】