for: 1.for i in {1…10} 或者 for i in $(seq 1…10…2) 2. for i in $(seq 1 10)或者 for i in $(seq 1 2 10) 3. for((i=1;i<=10;i++)) 或者 for((i=1;i<=10;i+=2)) do echo$i done
#!/bin/bash for ((a=1; a<=5;a++)) do echo" 外层循环为$a" if [$a -gt 2 -a $a -lt 4 ];then continue fi
echo $[$a*2]
done
while: #!/bin/bash i=0 while [$i -le 10 ] do echo$i let i++ done
until: #!/bin/bash a=0 until (($a -gt 10)) d0 echo$a let a++ done
break: 后面加数字表示跳出几层循环
for ((a=1; a<=5;a++)) do for ((b=1; b<=5;b++)) do echo" 内循环第$b 次 " if [$b -eq 3 ];then break 2 fi done done
# 每行按空格或 TAB 分割,输出文本中的 1、4 项 $ awk '{print $1,$4}' log.txt --------------------------------------------- 2 a 3 like This's 10 orange,apple,mongo # 格式化输出 $ awk '{printf"%-8s %-10s\n",$1,$4}' log.txt --------------------------------------------- 2 a 3 like This's 10 orange,apple,mongo
1
- awk -F #-F 相当于内置变量 FS, 指定分割字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# 或者使用内建变量 $ awk 'BEGIN{FS=","} {print $1,$2}' log.txt --------------------------------------------- 2 this is a test 3 Do you like awk This's a test 10 There are orange apple # 使用多个分隔符. 先使用空格分割,然后对分割结果再使用 "," 分割 $ awk -F '[,]' '{print$1,$2,$5}' log.txt --------------------------------------------- 2 this test 3 Are awk This's a 10 There apple