-
#! /bin/ksh
-
flag=$(cat $@ | awk '/^[0-9]/')
-
#左中括号后一位,右中括号前一位有一位空格
-
if [ "$flag" = "" ];
-
then
-
#-s分隔符-w长度,-n对齐方式
-
nl -s . -w 2 -n ln $@>tips_tmp.txt
-
mv -f tips_tmp.txt tips.txt
-
else
-
cat $@ | awk '{sub(/[0-9]*\ *\./,"");print}'>temp.txt
-
nl -s . -w 2 -n ln temp.txt>tmp.txt
-
mv -f tmp.txt $@
-
fi
第2行 设置flag标记是否已经有行号
第4行 判断flag是否为空
6-8行 判断flag为空即没有行号,则用nl命令添加然后写入临时文件再覆盖原文件
10-12行 判断flag非空即已有行号,则先删除行号,然后再次执行添加行号过程
一小段script还有许多瑕疵,但能实现基本功能,先写下来以作回顾。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28906930/viewspace-1069201/
,如需转载,请注明出处,否则将追究法律责任。