Tac

使用 tac 逐個字元地反轉文件

  • December 13, 2019

我想使用tac逐個字元地反轉文本文件。在 coreutils 的資訊頁面上,我發現了一個範例:#Reverse a file character by charactertac -r -s 'x\|[^x]'

但是執行tac -r -s似乎打開標準輸入而不是列印文件。是什麼'x\|[^x]'意思,我應該怎麼做?

我還注意到 和 的輸出tac [file]tac -r [file]相同的,它們與cat [file]. 仍然無法通過字元反轉找出字元。

要使用 逐字元反轉文件tac,請使用:

tac -r -s 'x\|[^x]'

這記錄在info tac

# Reverse a file character by character.
tac -r -s 'x\|[^x]'

-r導致分隔符被視為正則表達式-s SEP用作SEP分隔符x\|[^x]是一個匹配每個字元的正則表達式(那些是x,那些不是x)。

$ cat testfile
abc
def
ghi
$ tac -r -s 'x\|[^x]' testfile

ihg
fed
cba%
$

tac filecat file除非file只有一行不同。tac -r file相同,tac file因為預設分隔符是\n,當被視為正則表達式時與非正則表達式相同。

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