1:取出文件中的第i行到第j行:awk 'NR>=i && NR<=j {print $0}' filename
2:vi精确查找:\<keyValue\>
3:指定分隔符:awk '{FS="\t"} {print $2}' filename
4:数值运算:
x=5;
let x=$x+1;
#或者
x=`expr $x + 1` #expr 需要参数之间有空格
5:使用变量来引用shell脚本的任意参数
for ((i=1;i<$#;i++))
do
eval currParam=\$$i;
#引用当前变量
#echo "${currParam}"
done
6:awk中引用shell变量
awk '{print $'"${var}"'}'
其中 print 后的符号顺序为$、单引号、双引号、${var}、双引号、单引号
7:提取文本中两匹配行之间内容
start=0
while read line
do
if [ `echo $line|grep “start flag”|wc -l` -eq 1 ];then
start=1
continue
fi
if [ `echo $line|grep "end flag"|wc -l` -eq 1 ];then
start=0
continue
fi
if [ $start -eq 1 ];then
echo $line
fi
done<file
8.awk的输出不打印第一列
awk '{sub(/^[^[:space:]]*[[:space:]]+/,"");print}' test.txt
或者awk '{$1="";print $0}' test.txt
9.查找替换:
sed -i "s/old/new/g" hello.txt
10.插入:
sed -i '8i\content' hello.txt
查找并插入
sed -i -e '/search context/a\insert context' hello.txt
Shell脚本高级技巧与应用
本文深入探讨了Shell脚本中的高级用法,包括如何高效地读取、操作文件内容,实现数值运算,引用shell变量,以及进行文本查找、替换、插入等操作。文章详细解释了awk命令的强大功能及其在不同场景下的应用,如提取特定行、指定分隔符读取数据、执行复杂的数据处理任务。此外,还介绍了sed命令在文本编辑和格式化方面的强大能力,通过实例展示了如何利用sed进行查找、替换、插入文本内容。
1294

被折叠的 条评论
为什么被折叠?



