我有一个看起来像这样的文本文件:
jdkjf
kjsdh
jksfs
lksfj
gkfdj
gdfjg
lkjsd
hsfda
gadfl
dfgad
[很多行,就是]
但更喜欢它看起来像
jdkjf kjsdh
jksfs lksfj
gkfdj gdfjg
lkjsd hsfda
gadfl dfgad
[等等]
所以我可以在较少的页面上打印文本文件。
当然,这不是一个难题,但我想知道是否有一些优秀的工具来解决这些问题。
编辑:我不是想找到一种从文本文件中删除所有其他换行符的方法,而是一种将文本解释为“图片”的工具,然后将它们很好地放在页面上(通过编写适当的空白符号) )。答案 0 :(得分:0)
您可以使用此python代码。
tables=input("Enter number of tables ")
matrix=[]
file=open("test.txt")
for line in file:
matrix.append(line.replace("\n",""))
if (len(matrix)==int(tables)):
print (matrix)
matrix=[]
file.close()
答案 1 :(得分:0)
(因为你没有命名你的操作系统,我只是假设Linux,Mac OS X或其他一些Unix ......)
您的示例看起来也可以通过表达式“将2行连接在一起”来描述。
这可以在shell中实现 (在xargs
和awk
的帮助下) - 但仅适用于结构类似于您的示例的输入文件(结果总是在一行上放两个单词,而不管每个单词包含多少个单词):
cat file.txt | xargs -n 2 | awk '{ print $1" "$2 }'
单独使用awk
也可以实现(这次它真正加入了2个完整行,无论每个单词包含多少个单词):
awk '{printf $0 " "; getline; print $0}' file.txt
或使用sed
-
sed 'N;s#\n# #' < file.txt
此外, xargs
可以做到这一点:
xargs -L 2 < file.txt
我相信其他人可以提出其他几十种截然不同的方法和命令行组合...
警告:您必须明确测试奇数行的文件。在奇数行的情况下,可能无法正确处理最后一个输入行。