【发布时间】:2019-12-10 13:21:38
【问题描述】:
我想知道是否有办法使用wc 和sed 删除文件的一半。
我可以这样做:
sed -i '50,$d' myfile.txt
这会删除从 50 到文件末尾的行。我也可以这样做:
wc -l myfile.txt
返回文件中的行数。
但我真正想做的是这样的:
wc -l myfile.txt | sed -i '{wc -l result}/2,$d' myfile.txt
- 如何告诉
sed删除从wc -l结果除以2 开始的行? - 如何递归执行此操作?
【问题讨论】:
-
使用
d删除行,r命令用于从另一个文件追加文本...尝试sed -i $(( $(wc -l <myfile.txt)/2 + 1 ))',$d' myfile.txt(注意我也在使用+1)跨度>