繁体   English   中英

将文本文件转换为单行

[英]Convert text files to single line

我试图寻找这个东西,但是找不到适合我的东西。 我的问题是我需要将扩展​​名为.txt的多个文件的内容转换为一行,例如:

1
2
3
4

我想转换为12341 2 3 4

我也有一些我想包含的子文件夹。 我尝试过使用Linux进行多次尝试,甚至尝试过Windows的TextCrawler 3,但没有任何帮助。

尝试翻译:

cat *.txt | tr -d '\n'

-d表示删除所有换行符\\n字符。

如果您想拥有空间,可以做

cat *.txt | tr '\n' ' '

要删除换行符或将它们替换为空格:

$ paste -s -d '' infile
1234
$ paste -s -d ' ' infile
1 2 3 4

这仅打印到标准输出。 更改文件位置:

$ paste -s -d ' ' infile > infile.tmp && mv infile.tmp infile
$ cat infile
1 2 3 4

要对许多文件执行此操作,例如当前文件夹中的所有.txt文件以及所有子文件夹:

$ find -name '*.txt' -exec bash -c 'paste -s -d " " {} > {}.tmp && mv {}.tmp {}' \;

这不是很优雅,因为它在exec部分中创建了一个子外壳,但是当findexec部分中存在重定向时,这是一种方法。

从* .txt文件中删除所有换行符

sed -z -i 's/\n//g' *.txt

将所有换行符转换为* .txt中的空格

sed -z -i 's/\n/ /g' *.txt

但是对于子目录,您需要一些帮助。

find -name "*.txt" -exec sed -z -i 's/\n/ /g' {} ';'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM