0
A
回答
2
# cat test
a
b
c
# head -n -1 < test
a
b
+0
不错,但不适用于所有版本的'head'(确定:GNU;不行 - MacOS X,AIX,...)。 OTOH,当末尾有多行删除时,它比'sed'好。 – 2011-05-03 19:18:26
3
sed '$d' <<!
a
b
c
!
请注意,这个作品非常便携为“删除最后一行”的具体情况。当N> 1时,它不适用于'删除最后N行';在那一点上,sed
可能不是正确的工具。
使用head -n -N
的作品,如果你使用的head
GNU的版本 - 它不head
(AIX,MacOS X系统,...)的大多数其它版本。
这个Perl代码的工作原理 - 它可能也可以使用Python编写而不用大惊小怪。
#!/usr/bin/env perl
use strict;
use warnings;
use constant N => 10;
my(@lines);
while (<>)
{
print shift @lines while (scalar(@lines) >= N);
push @lines, $_;
}
读者练习:升级代码为10
+0
谢谢乔纳森。 – srihari 2011-05-03 20:13:03
0
可能不是世界上最好的脚本来处理,而不是硬编码命令行选项指定的N的值,但在这里云:
Usage: script_name.sh {original_file} {copy_file}
#!/bin/bash
if [ $# -ne 2 ]
then
echo "Usage: $0 {original_file} {copy_file}"
exit $E_BADARGS
fi
lines=`wc -l $1`
num_lines=`echo ${lines:0:1}`
if [ $num_lines -ne 0 ]
then
last_line=${num_lines-1}
sed "${last_line}d" < $1 > $2
else
echo "The file is empty!"
fi
exit 0
相关问题
- 1. 如何删除最后一个记录
- 2. 要么写出列表的第一条记录或最后一条记录,任何建议,以使其正确
- 3. 删除功能删除表中的最后一条记录。 js jquery.updated
- 4. MYSQL将多条记录中的记录除外最新记录
- 5. 如何删除使用PDO插入到MySQL表中的最后一条记录?
- 6. 如何使用SQL在postgresql中记录最后一条记录中的数据
- 7. 删除最后一天的记录
- 8. 访问(VBA)访问记录集中的最后一条记录
- 9. 如何一次删除多条记录?
- 10. 连接表的最后一条记录
- 11. 从数组中删除一条记录
- 12. 如何删除表中的记录?
- 13. 我如何删除表中的记录?
- 14. 删除列表中的重复记录
- 15. 如何获取sql表中的最后一条记录
- 16. perl一行脚本得到最后一条记录的路径
- 17. 我可以访问最后一条记录的上一条记录吗?mysql?
- 18. WCF RIA在4096条记录中删除记录
- 19. 在轨道中删除多条记录
- 20. 如何删除MS SQL 2005中最新的20,000条记录?
- 21. 如何从表中获取最后一条记录?
- 22. 在Hibernate中持久化记录删除以前的记录
- 23. 如何从表中选择除前5条记录以外的所有记录?
- 24. mysql从表中前50条记录中选择最后5条记录
- 25. sql.eachRow只会将最后一条记录添加到列表中
- 26. 如何删除未知号码的最后一条记录(条件)?
- 27. 如何在SQL中获取每组的最后一条记录
- 28. 删除除一个重复记录以外的所有记录
- 29. 如何从mysql中的表中选择最后N条记录
- 30. 在记录列表中编辑一行?
你应该张贴代码的至少一个相关部分。 – stivlo 2011-05-03 19:08:22
你有脚本吗?如果您发布它以帮助您,它会很有用。 – bacchus 2011-05-03 19:09:05