[英]Bash script - display file from the "c"th line
我有一个脚本,显示“n”行并显示“c”行。
#!/bin/bash
hn=5
tn=1
while getopts ":n:c:" opt
do
case $opt in
h) echo Pomocy
exit 1
;;
n) hn=$OPTARG ;;
c) tn=$OPTARG ;;
\?) echo Nieznana opcja $OPTARG;;
:) echo Brakuje argumentu opcji $OPTARG ;;
esac
done
shift $(($OPTIND-1))
for i do
if [[ -f $1 ]];
then
cat $i | head -n $hn
else
echo "plik nie istnieje"
fi
done
exit 0
如何让它从c行显示? 显示“n”行 iw 工作。 什么命令可以做“c”行? 默认从 1 行开始显示
感谢帮助。 这个命令很好用
cat $i |head -n $hn | tail -n +$tn
使用 tail、wc 和 awk 的简单方法:
a=`wc -l $file | awk '{print $1}'`
tail -n $(( a - tn)) $hn
如果我把它放在你的原始文件中:
#!/bin/bash
hn=5
tn=1
while getopts ":n:c:" opt
do
case $opt in
h) echo Pomocy
exit 1
;;
n) hn=$OPTARG ;;
c) tn=$OPTARG ;;
\?) echo Nieznana opcja $OPTARG;;
:) echo Brakuje argumentu opcji $OPTARG ;;
esac
done
shift $(($OPTIND-1))
for i do
if [[ -f $1 ]];
then
a=`wc -l $file | awk '{print $1}'`
tail -n $(( a - tn)) $hn
else
echo "plik nie istnieje"
fi
done
exit 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.