簡體   English   中英

xxd:如何在不添加“00000000:”的情況下簡單地恢復?

[英]xxd: how to simply revert without adding "00000000:"?

有時我的文件中有不需要的字符(數據庫表、git 內容等)。 當我用xxd列出它們時,我有 UTF-8 代碼,例如:

e28099

我想知道 bash 中的這個字符是哪個,所以我輸入:

echo -n '00000000: e28099' | xxd -r

我會有

'

在控制台上。 是否有可能不總是包含那些零( 00000000: )? 那么有沒有我可以輸入的xxd參數:

echo -n 'e28099' | xxd -??? 結果將是'

我建議:

echo 'e28099' | xxd -r -p

Output:

$ perl -le'print pack "H*", $ARGV[0]' e28099
’
$ perl -Mv5.10 -Mcharnames=:full -C -e'
   $_ = pack "H*", $ARGV[0];
   utf8::decode $_;
   say;
   for my $cp ( unpack "W*", $_ ) {
      my $c = chr( $cp );
      say sprintf "%s U+%X %s",
         ( $c =~ /\p{Print}/ && !/\p{Mark}/ ) ? "[$c]" : "   ",
         $cp,
         charnames::viacode( $cp );
   }
' e28099
’
[’] U+2019 RIGHT SINGLE QUOTATION MARK

(要讓它們使用 STDIN 而不是參數,請將-le / -e替換為-ple ,並將$ARGV[0]替換為$_ 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM