llvm-strings - 列印字串

概要

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

描述

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

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

範例

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

選項

--all, -a

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

--bytes=<length>, -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/>。