總結linux下printf命令的用法

printf  -- format and print date 通過printf的選項格式化輸出數據


基本英文學習

二進制:binanry number

八進制:otcal number

十進制:decimal number

十六進制: hexadecimal number


1、基本的打印輸出(默認不換行\n換行)

# printf "hello,world"
hello,world

#printf "hello,world\n"
hello,world


2、進制的轉換

%x 十六進制

%d 十進制

%o 八進制


十進制轉16進制

# printf "%x\n" 27 
1b

# printf "%x\n" 19713  查到佔用較高CPU的線程號轉換爲16進制,以便於jstack查看
4d01


16進制轉十進制

# printf "%d\n" 0x1b
27

# printf "%d\n" 0x4d01
19713


(注意 轉換進制可以使用bc命令 如裝換成爲2進制) ibase輸入的進制;obase輸出的進制) 

10進制轉爲2進制

# echo 'obase=2;10'|bc
1010

帶變量的處理常用在shell腳本中

# a=10
# echo "obase=2;$a" |bc
1010


2進制轉換10進制

# echo 'ibase=2;111'|bc
7


綜合的高級用法:

# cat file.txt 
100
200
300
# awk‘{print "ibase=10;obase=2;" $1}‘file.txt |bc |xargs printf "%08d\n"
01100100
11001000
100101100



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章