Nic*_*arp 3 gedit command-line libreoffice
我希望能够生成大量数字(例如,纳皮尔常数的前一百万个十进制数字),然后将数字保存在文本文件中,没有任何换行符。
不过,我似乎无法在 GEdit 或 LibreOffice Writer 中执行此操作。我在终端上使用 Maxima 生成数字,但输出时带有换行符。
我要么需要找到一种方法来生成没有换行符的数字,要么找到一个文本编辑器来处理从包含数百万位数字的大数字中删除换行符(我可以从包含数千位数字的数字中删除换行符而没有任何问题)。
我使用下面的终端语法生成 Napier 常量的前一百万个十进制数字,然后将这些数字复制并粘贴到文本编辑器中(删除 \\ 和 \n)。
sudo apt-get install wxmaxima
maxima
bfloat(%e),fpprec:1000000;
Run Code Online (Sandbox Code Playgroud)
当我尝试复制并粘贴到 GEdit 然后删除换行符时会发生什么,我可以将所有数字都放在一行上,但数字不会显示。由于 GEdit 可以成功删除换行符并显示 1000 位数字而不是 100 万位数字,我想知道这是否可能是内存问题。但是,当我尝试将文件另存为 TXT 然后在 LibreOffice 中打开它时,它仍然包含换行符。LibreOffice 似乎根本无法删除换行符,即使我直接从终端复制和粘贴也是如此。
我应该补充一点,也许我不是在 Canonical Ubuntu 上,而是在名为 Mint 的叉子上:-/。
恕我直言,正确的方法是通过将maxima输出直接写入文件来避免完全复制粘贴文本:
x:bfloat(%e),fpprec:1000000$
stringout("my_big_number.txt",x);
Run Code Online (Sandbox Code Playgroud)
$代替;第一个表达式只是抑制了 - 相当大的 - 控制台输出。
您可以使用以下命令确认输出文件中没有其他换行符wc:
$ wc my_big_number.txt
2 1 1000006 my_big_number.txt
Run Code Online (Sandbox Code Playgroud)
(事实上,还有一个额外的换行符,因为它stringout似乎在输出之前插入了一个空行;但是在数字输出本身中没有)。
然后您可以将文本文件转换为您希望的任何其他格式 - 因为您安装了 LibreOffice,使用其独立的转换过滤器:
$ libreoffice --convert-to pdf my_big_number.txt
$ xdg-open my_big_number.pdf
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用 LO 的unoconv命令行实用程序:
$ unoconv -f pdf my_big_number.txt
Run Code Online (Sandbox Code Playgroud)
请参阅示例如何将 TXT 转换为 PDF?
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |