Cat
從 cat 命令中獲取前 X 個字元?
我有一個文本文件要輸出到我的 shell 腳本中的一個變數。但是,我只需要前 50 個字元。
我試過使用
cat ${filename} cut -c1-50
,但我得到的遠遠超過前 50 個字元?這可能是由於cut
尋找行(不是 100% 確定),而這個文本文件可能是一個長字元串——這真的取決於。是否有一個實用程序可以讓我從
cat
命令中獲取前 X 個字元?
head -c 50 file
這將返回前 50 個字節。
請注意,該命令並不總是在所有作業系統上都以相同的方式實現。在 Linux 和 macOS 上,它的行為方式是這樣的。在 Solaris (11) 上,您需要使用 /usr/gnu/bin/ 中的 gnu 版本
cut
如果您使用管道將數據傳遞給它,則您的命令有效:cat ${file} | cut -c1-50
或者,避免對 cat 的無用使用並使其更安全:
cut -c1-50 < "$file"
請注意,上面的命令將列印每個輸入行的前 50 個字元(或字節,取決於您的
cut
實現)。如您所說,如果您的文件是一大行,它應該可以滿足您的期望。