llvm-strings - 列印字串

語法

llvm-strings [選項] [輸入…]

描述

llvm-strings 是一個工具,旨在替代 GNU 的 strings,它會在檔案中尋找可列印的字串並將其寫入標準輸出流。可列印的字串是任何四個(預設值)或更多可列印 ASCII 字元的序列。檔案結尾或任何其他位元組會終止目前的序列。

llvm-strings 會在指定的每個 輸入 檔案中尋找字串。與 GNU strings 不同,它會在整個輸入檔案中尋找,無論檔案格式為何,而不是將搜尋範圍限制在物件檔案的特定區段。如果將“-”指定為 輸入,或未指定任何 輸入,則程式會從標準輸入流讀取。

範例

$ cat input.txt
bars
foo
wibble blob
$ llvm-strings input.txt
bars
wibble blob

選項

--all, -a

靜默忽略。為了與 GNU strings 相容而存在。

--bytes=<長度>, -n

設定將位元組序列視為字串所需的可列印 ASCII 字元數下限。預設值為 4。

--help, -h

顯示命令列選項的摘要。

--print-file-name, -f

在每個字串之前顯示包含檔案的名稱。

範例

$ llvm-strings --print-file-name test.o test.elf
test.o: _Z5hellov
test.o: some_bss
test.o: test.cpp
test.o: main
test.elf: test.cpp
test.elf: test2.cpp
test.elf: _Z5hellov
test.elf: main
test.elf: some_bss
--radix=<radix>, -t

使用指定的進制顯示每個字串在檔案中的偏移量,位於字串之前。有效的 <radix> 值為 odx,分別代表八進制、十進制和十六進制。

範例

$ llvm-strings --radix=o test.o
    1054 _Z5hellov
    1066 .rela.text
    1101 .comment
    1112 some_bss
    1123 .bss
    1130 test.cpp
    1141 main
$ llvm-strings --radix=d test.o
    556 _Z5hellov
    566 .rela.text
    577 .comment
    586 some_bss
    595 .bss
    600 test.cpp
    609 main
$ llvm-strings -t x test.o
    22c _Z5hellov
    236 .rela.text
    241 .comment
    24a some_bss
    253 .bss
    258 test.cpp
    261 main
--version

顯示 llvm-strings 可執行檔的版本。

@<FILE>

從回應檔案 <FILE> 讀取命令列選項。

結束狀態

如果發生錯誤,llvm-strings 會以非零的結束代碼退出。否則,它會以代碼 0 退出。

錯誤

如要回報錯誤,請瀏覽 <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>。