前言
本文记载一些自己在工作中经常使用的Linux命令,方便后续进行查找。
常见命令汇总
- 提取 A.txt 文件中的第2列和第4列到 B.txt 文件中,且以 \t 为分隔符;
awk -v OFS="\t" '{print $2,$4}' A.txt > B.txt
- vim 全局替换命令;
:%s/foo/bar/g
- vim 删除所有内容;
ggdG
- 将文件的第2列剪切出来,然后排序,去重(-c 记录重复的次数);
cut -f 2 file | sort | uniq -c
- 将编码格式为 utf-8 的文件转换为 gbk;
iconv -f UTF-8 -t GBK utf8.html > gbk.html
- 排序时去重;
sort -u file
- 打印出 file 中所有行的列数,并排序和去重;
cat file | awk -v FS=$'\t' '{print NF}' | sort | uniq -c
- vim多行注释;
a. 按Ctrl+V快捷键进入VB可视化模式;
b. 上下移动光标,选择你想要注释的行;
c. 选择好之后,按**大写的**I键进入insert模式,输入注释符“//”或“#”;d. 最后按ESC键(两次)
- vim 取消高亮显示;
:noh
- 将文件中第2列大于100的行打印出来;
cat file | awk -F '\t' '$2>100{print $0}'
- 将文件按照第一列排序、然后按照第三列降序排列,最后将第一列中元素去重后输出;
cat file | sort -t$'\t' -k1,1 -k3,3gr | awk -v FS='\t' -v OFS='\t' 'BEGIN{pre = ""}{if (pre != $1){print $0; pre = $1}}'
- 查看XXX开头的进程;
ps -aux | grep XXX
- 删除第一行;
sed -i '1d' filename
- 直接在终端对字符串进行编码;
t=$(echo '暨大考研' | iconv -futf8 -tgbk)
- linux sort 按列去重;
cat file | sort -t '\t' -k 1,1 -u
- 寻找前1天到前10天的所有日期;
nums=(1 2 3 4 5 6 7 8 9 10)
for num in ${nums[*]}; do
dates[num]=`date -d "-${num} day" +"%Y%m%d"`
done
final_dates=`echo $(echo ${dates[@]}) | tr ' ' ','`
- 查看文件夹下的所有文件的大小;
du -sh *
- 查找含有a的文件;
find . | xargs frep 'a'
grep -r 'a' *
网友评论