请教一个批量删除文本文件中多余回车或提取文本中前两行数据的shell脚本,请高手指点,万分感谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个批量删除文本文件中多余回车或提取文本中前两行数据的shell脚本,请高手指点,万分感谢相关的知识,希望对你有一定的参考价值。

我有许多类似以下内容的txt文件,其中有用的主要是两行有数值的部分,其余多余的回车行(文件中回车行数量不一定)必须删除,否则存在问题,如何能批量的修改一下这些txt文件呢,或者是如何能提取出来前两行文件也行,存成同样的文件名文件就可以。不知道我表述清楚没有,请熟悉这方面的指点一下:谢谢!
文件示例:
8.1593 8.1601 8.1601 8.1590 8.1594 8.1601 8.1598 8.1589 8.1594 8.1595 8.1588 8.1599
8.1582 8.1597 8.1586 8.1594 8.1588 8.1594 8.1584 8.1588 8.1597 8.1593 8.1592 8.1597
<-注意此处是多余的空格
<-注意此处是多余的空格
<-注意此处是多余的空格
... ...

这样删除空行,

grep -E -v '^[\t\n ]*$' file > outfile

用脚本批量改,在该目录下放入这脚本

#! /bin/bash

for i in *.txt # 假设副档为 .txt
do
grep -E -v '^[\t\n ]*$' "$i" > "$i".bak
ret=$?
if [ $ret -eq 0 ]
then
mv -f "$i" "$i".temp
mv -f "$i.bak" "$i"
mv -f "$i.temp" "$i.$(date +%Y%m%d).bak
else
echo "$i: fail to delete blank line"
fi
done

没测试
参考技术A 最简单的方法: head -n 2 .txt > temp.txt
head 命令的意思是取前两行输出到temp.txt
参考技术B 用sed似乎要简单得多:

sed '2q' *.txt

word怎么删除多余的回车符

参考技术A

工具/原料:戴尔Vostro 15、Windows 10、word

1、打开word,点击文件。

2、然后点击选项。

3、点击显示。

4、将段落标记的勾选给点击取消掉。点击确定。

5、结果如图所示,这样便去掉了回车符号。

以上是关于请教一个批量删除文本文件中多余回车或提取文本中前两行数据的shell脚本,请高手指点,万分感谢的主要内容,如果未能解决你的问题,请参考以下文章

请教如何在word文档中批量插入分页符

Linux中文档去掉windows文本的多余的回车符(^M)

如何删除多余的双引号,而不是使用bash脚本在一行文本中打开和关闭双引号

Python批量提取docx格式Word文档中所有文本框内的文本

请教如何用按键精灵把已复制的文本内容粘贴到excel指定位置,谢谢!!

matlab寻找矩阵中前两列相同的行,返回相同次数最多的