Bash

Grep:將輸出分成兩列並將它們保存到txt文件中

  • July 27, 2019

在一個目錄中,執行後ls -d -- 0.*_*.txt | sort -t. -k1,我得到了輸出文件名,例如

0.230_0.203059.txt

我怎樣才能將它們中的每一個進一步寫成兩列,例如

0.230 0.203059

成txt文件?

有些人反對解析 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

應該這樣做。

引用自:https://unix.stackexchange.com/questions/532427