如何连续提取整行,例如第3行.这些数据保存在linux的文本编辑器中.这是我的数据:
1,julz,kath,shiela,angel
2,may,ann,janice,aika
3,christal,justine,kim
4,kris,allan,jc,mine
Run Code Online (Sandbox Code Playgroud)
我想输出像:
3,christal,justine,kim
Run Code Online (Sandbox Code Playgroud)
pax*_*blo 12
以下代码段读取前三行,仅打印第三行然后退出以确保不会发生不必要的处理.
如果没有退出,脚本将继续处理输入文件,尽管您知道您没有使用它.
perl -ne 'if ($. == 3) {print;exit}' infile.txt
Run Code Online (Sandbox Code Playgroud)
正如perlvar指出的那样,$.是访问的最后一个文件句柄的当前行号.
$ perl -ne'print if $. == 3' your_file.txt
Run Code Online (Sandbox Code Playgroud)
以下是@ ysth的答案的脚本版本:
$ perl -mTie::File -e'tie @lines, q(Tie::File), q(your_file.txt);
> print $lines[2]'
Run Code Online (Sandbox Code Playgroud)
如果它始终是第三行:
perl -ne 'print if 3..3' <infile >outfile
Run Code Online (Sandbox Code Playgroud)
如果它始终是数字值为"3"的第一列:
perl -F, -nae 'print if $F[0] == 3' <infile >outfile # thanks for the comment doh!
Run Code Online (Sandbox Code Playgroud)
既然你没有说明你是如何确定这条线的,那我就提供了另类选择.
| 归档时间: |
|
| 查看次数: |
6497 次 |
| 最近记录: |