Linux 常用高效操作

空行处理

linux系统下删除空行,用vim底行模式'%s/^n$//g' 可以删除空行并真正修改文件,但文件数量太大时耗时不可预估,于是操作文件删除空行并重定向到一个新的文件是不错的选择。

常用特殊符号的含义:^代表行开头,转义  *重复匹配  $代表行尾 d删除 s是空白匹配  *代表出现0次或者多次

方式一:grep 命令
cat file | grep -v '^$'  > newfile
或者
grep -v '^$' file 方式二:sed 命令 cat file | sed '/^$/d' > new file

cat file | sed '5d' #知道空行是第5行,直接删除空行

字符替换

# 注意这里的 " & " 符号,如果没有 “&”,就会直接将匹配到的字符串替换掉
sed 's/^/添加的头部&/g'      #在所有行首添加
sed 's/$/&添加的尾部/g'      #在所有行末添加
sed '2s/原字符串/替换字符串/g'  #替换第2行
sed '$s/原字符串/替换字符串/g'   #替换最后一行
sed '2,5s/原字符串/替换字符串/g' #替换2到5行
sed '2,$s/原字符串/替换字符串/g' #替换2到最后一行

遍历打印变量

情形一:遍历打印日期

for day in 2019-04-{01..05}
do
echo ${day}
done

输出:

2019-04-01
2019-04-02
2019-04-03
2019-04-04
2019-04-05

格式化输出

for cur_hour in `seq 1 5`
do 
  echo ${cur_hour} | awk '{printf("%02d
",$0)}'    # 补全两位数
done

输出:

01
02
03
04
05

【参考资料】

[1]. Amei6536, sed字符串替换

原文地址:https://www.cnblogs.com/lemonu/p/11128517.html