Grep:将输出分成两列并将它们保存到txt文件中

Grep:将输出分成两列并将它们保存到txt文件中

在目录中,运行后ls -d -- 0.*_*.txt | sort -t. -k1,我获得了输出文件名,例如

0.230_0.203059.txt

我怎样才能将它们进一步写成两列,例如

0.230 0.203059

写入txt文件?

答案1

人们对解析 ls 的输出有一些厌恶(参见https://mywiki.wooledge.org/ParsingLs除其他外),但除此之外:

ls -d -- 0.*_*.txt我不知道你为什么把它放在--那里;这-d只是阻止你进入目录。在您的设置中,您可能两者都不需要。

ls生成诸如0.230_0.203059.txt、 等文件名,因此使用 txt。你也需要把它去掉。

ls 0.*_*.txt | sort -t. -k1 | sed 's/.txt//;s/_/ /' > outfile.txt

应该这样做。

相关内容