Linux常见命令汇总

前言

本文记载一些自己在工作中经常使用的Linux命令,方便后续进行查找。

常见命令汇总

  1. 提取 A.txt 文件中的第2列和第4列到 B.txt 文件中,且以 \t 为分隔符;
awk -v OFS="\t" '{print $2,$4}' A.txt > B.txt
  1. vim 全局替换命令;
:%s/foo/bar/g
  1. vim 删除所有内容;
ggdG
  1. 将文件的第2列剪切出来,然后排序,去重(-c 记录重复的次数);
cut -f 2 file | sort | uniq -c
  1. 将编码格式为 utf-8 的文件转换为 gbk;
iconv -f UTF-8 -t GBK utf8.html > gbk.html
  1. 排序时去重;
sort -u file 
  1. 打印出 file 中所有行的列数,并排序和去重;
cat file | awk -v FS=$'\t' '{print NF}' | sort | uniq -c
  1. vim多行注释;
a. 按Ctrl+V快捷键进入VB可视化模式;
b. 上下移动光标,选择你想要注释的行;
c. 选择好之后,按**大写的**I键进入insert模式,输入注释符“//”或“#”;d. 最后按ESC键(两次)
  1. vim 取消高亮显示;
:noh
  1. 将文件中第2列大于100的行打印出来;
cat file  | awk -F '\t'  '$2>100{print $0}'
  1. 将文件按照第一列排序、然后按照第三列降序排列,最后将第一列中元素去重后输出;
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}}'
  1. 查看XXX开头的进程;
ps -aux | grep XXX
  1. 删除第一行;
sed -i '1d' filename
  1. 直接在终端对字符串进行编码;
t=$(echo '暨大考研' | iconv -futf8 -tgbk)
  1. linux sort 按列去重;
cat file | sort -t '\t'  -k 1,1 -u
  1. 寻找前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 ' ' ','`
  1. 查看文件夹下的所有文件的大小;
du -sh * 
  1. 查找含有a的文件;
find . | xargs frep 'a'
grep -r 'a' *

你可能感兴趣的:(Linux常见命令汇总)