我试图寻找这个,但找不到任何适合我的东西。 我的问题是,我需要转换的具有扩展.txt
一条线多个文件的内容,例如:将文本文件转换为单行
1
2
3
4
我想转换为1234
或1 2 3 4
。
我也有我想要包括的子文件夹。我尝试了多次尝试Linux,甚至尝试过Windows的TextCrawler 3,但没有任何帮助。
我试图寻找这个,但找不到任何适合我的东西。 我的问题是,我需要转换的具有扩展.txt
一条线多个文件的内容,例如:将文本文件转换为单行
1
2
3
4
我想转换为1234
或1 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
部分中,但在find
的exec
部分中存在重定向时,这是一种方法。
删除所有行从*文件打破.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' {} ';'
显示您的尝试。 –
[在bash中转置文件]的可能重复(http://stackoverflow.com/questions/1729824/transpose-a-file-in-bash) – PoX