→ JayLane:真的沒裝php耶 12/04 08:53
※ 引述《shadowjohn (3WA問題解決專家)》之銘言:
: ※ 引述《JayLane (JL)》之銘言:
: : 假設一個文件1.txt有100行
: : 我要印出其中的第 21到 30行
: : 除了
: : head -30 1.txt | tail -10
: : 外
: : 有沒有什麼指令可以直接叫出 第 21到 30行阿?
: : 先謝謝回答
: _TMP='22,30p 42,50p'; for i in $_TMP;do sed -n $i 1.txt; done
寫一支用 php 去跑的 script 給你用~
請將以下的內容存到 /usr/bin/3wa_file_readline.sh
#!/usr/bin/env php
<?php
if($argc==1||$argc[2]=='-h')
{
echo "\n
這支程式可以讀檔案,並且指定行數呦~\n
使用方法如下:\n\n
# {$argv[0]} [file] [pn,pn] [pn,pn]\n\n
如這個範例:\n\n
# {$argv[0]} /etc/passwd 1,3 7,10\n\n
3WA 問題解決專家工作室\n\n";
exit(0);
}
if(file_exists($argv[1])==false)
{
echo "\n檔案不存在Orz\n";
exit(1);
}
$d=explode("\n",file_get_contents($argv[1]));
for($i=2;$i<$argc;$i++){
$p=explode(',',$argv[$i]);
if($p[0]>=$p[1])
{
$p[0]^=$p[1];
$p[1]^=$p[0];
$p[0]^=$p[1];
}
for($j=current($p);$j<=end($p);$j++){
echo $d[$j]."\n";
}
}
?>
試玩看看~
[root@localhost tmp]# chmod +x /usr/bin/3wa_file_readline.sh
[root@localhost tmp]# 3wa_file_read_line.sh
這支程式可以讀檔案,並且指定行數呦~
使用方法如下:
# /usr/bin/3wa_file_read_line.sh [file] [pn,pn] [pn,pn]
如這個範例:
# /usr/bin/3wa_file_read_line.sh /etc/passwd 1,3 7,10
3WA 問題解決專家工作室
[root@localhost tmp]# cat a.txt
第0
第1
第2
第3
第4
第5
第6
第7
第8
第9
第10
[root@localhost tmp]# 3wa_file_read_line.sh a.txt 3,5
第3
第4
第5
[root@localhost tmp]# 3wa_file_read_line.sh a.txt 3,5 6,7 1,2
第3
第4
第5
第6
第7
第1
第2
啊~沒裝php就沒辦法嘍^^"
--
3WA訓練家的工作室
宗旨:諸葛單中,謝謝
個人佈弱格 網址:http://3wa.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.185.88