天空部落|yam天空
推薦這個部落格: 337
登入 | 免費註冊 | 忘記密碼

ddy 狡兔三窟之一

技術、攝影、生活的記錄

備忘錄 |部落格 |影片 |RSS聯播 |好看的照片 |麻幾好友 |留言板 |Q me
操到爆肝啊~~ | 主頁 | 【天空】幸福點點名
February 28, 2008
Linux好用工具介紹cut,hd,dd以文找文
ddy1280 在天空部落發表於13:07:39 | 電腦應用
鼓勵此網誌:0 
加入書籤: HemiDemiGoogle BookmarksYahoo! My WebDel.icio.usfurltechnorati加入此網頁到:你推我報MyShareUDN共享書籤BlogLive

很多人視Linux 為猛獸,對於command line 模式更是懼怕萬分
其實…Linux 最棒的就是command line 下的那些小玩意兒~

在windows 裡,大家習慣圖形介面的操作環境,這當然是很友善的介面
但是對於一些一直重覆煩雜的工作來說…卻是很呆的操作介面…要不斷的輸入、移動滑鼠、點選…

今天介紹的小工具,或許不能馬上帶來幫助,但是當了解更多了之後,相信就能運用自如了~~^^
第一個指令是 cut
望文生意…就是剪下來,把你要的資料cut 出來
例,有一文字檔aa.txt 如下:
ID,Name,Phone,Birthday
1,David,12345678,66/1/3
2,ddy,22334452,64/3/11
3,cc,33445321,65/9/12
如果要取出所有人的名字和電話,可以這樣子下指令

cat aa.txt | cut -d',' -f2,3
(註) cat 相當於dos 下的type ,主要是把文字檔內容顯示在標準輸出(預設是螢幕)
常用參數說明:(原文來自於男人~~~man  :p)
       -b, --bytes=LIST
              select only these bytes
              LIST 是一種數列表示法,可以是 1,2,3 或是 1,3-5,7-9
              選擇bytes的方式,可以抓取任意的範圍資料,左起為1,

cat aa.txt | cut -b1,4-5

       -c, --characters=LIST
              select only these characters
              跟 -b 大同小異,老實說我分不出來有什麼差異啦 ^^ 在英文模式下一個character的長度=byte
             也許在unicode 或是在中文處理上會有差異吧

       -d, --delimiter=DELIM
              use DELIM instead of TAB for field delimiter
              DELIM 代表的是分隔符號,可以為任何字元,預設是TAB符號,通常直接將符號放在d的後方
              如:d,  or  d:
              但若分隔符號為空白時,可使用「'」單引號包起來,如:d' '

       -f, --fields=LIST
              select only these fields;  also print any line that contains  no
              delimiter character, unless the -s option is specified
              這個是搭配-d 參數使用的,每串被分隔字元分開的資料,視為一個欄位,左起由1起算
            
提到這個cut 指令,就想到awk  也能做到一樣的事,可參考我在前年寫的一篇使用awk 解析資料
cut 自是比awk 更簡單^^

順道再介紹二個指令,是我最近工作上有用到,就當作是自己的備忘…有需要的可參考一下
1. hd  (一個能將檔案以 ASCII, decimal, hexadecimal, octal 格式 dump出來的工具)
    語法:hd [參數] [FILE]
    使用太簡單就不多說明,知道有這個東西就行了

2. dd  (convert and copy a file) 
    是一個很強大也很危險的工具,應用很廣,可以做檔案轉換與複製
    dd 它接受一個輸入(if) 和一個輸出(of)
    輸入與輸出的範圍廣,可以是文件、檔案、或是一個設備(/dev/…)
    所以有人使用它來備份軟碟資料…

dd if =/dev/fd0 of = /tmp/tmpfile
(輸入為軟碟裝置,輸出為檔案)

   也有人拿來做硬碟的MBR(硬碟的第一個磁區記錄開機資訊的區塊) 備份
dd if =/dev/hda of=~/hda_mbr.bak bs=512 count=1

    先解釋一下參數
    if=<輸入檔案或裝置>
   of=<輸出檔案或裝置>
   bs  Bytes 一次讀取與寫入的Bytes數,例如 bs=512k ,   bs=512 (default value)
          而bs 後面的數字表示可以使用單位如下 
                1c  (1個字元(byte))
                1w (1個字(word) 2個bytes)
                1b  (512 bytes)
                1kB (1000bytes)  (小寫k)
                1K (1024bytes)    (大寫K)
                MB (1000*1000 bytes)
                M  (1024*1024 bytes)
                GB (1000*1000*1000 bytes)
                G   (1024*1024*1024 bytes)
  
   count  很重要的參數,要做幾次,在上述的例子裡面,輸入如果為有限的範圍,沒加count 就會做到全部的輸入都讀取完才會結束,但是如果輸入是沒有長度限制的…輸出就會一直快速增加…>< 這很危險,很快就會把硬碟塞爆,通常會讓count=1,下面的例子可以看見count 的需要

dd if =/dev/zero of=~/a.bin bs=512 count=1

這是一個產生512 bytes的一個內容全為 0 的binary file (a.bin) 如果 count 沒有加的話…後果就是~~
a.bin 會一直無限制成長…@@ 直到硬碟爆掉

介紹到目前為止,還漏掉一個很常用的參數…  conv

dd if =a.txt of=b.txt conv=ucase
這個指令能夠將 a.txt 轉換為大寫字元 再寫入檔案b.txt

conv  能接的參數有 10幾種…我常用的就 lcase 與ucase 其它的有興趣的朋友再自己找資料囉




Creative Commons License
本著作係採用創用 CC 姓名標示-非商業性-禁止改作 2.5 Taiwan 授權條款授權.
留言 (0) | 引用 (0) | 人氣 () | 轉寄
此分類上一篇:新增"基督徒串聯" 語法 (新版) | 主頁 | 此分類下一篇:Win2000 命令提示字元按Tab自動完成
相關閱讀
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:





是 否
內容:
系統公告
  • 再也不怕文章消失!自動儲存功能9/24上線
個人檔案
個人圖檔
ID:ddy1280
暱稱:ddy
生日:1975/03/16
地區:桃園縣
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 加入好友
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

★快來看ddy的公告★
用Blog人氣換現金喔,係金A
只要用心經營Blog,不用四處拉人點廣告,詳請參考
使用BloggerAds 為Blog賺取實質收益 或點選
歡迎大家來關心社會上弱勢家庭的孩子,這裡有許多他們的創作與畫畫,請一起來關心這群孩子也鼓勵他們吧 強力推薦一個好站,希望森林,為您帶來人生的希望
聯絡我
點下去和我msn線上對談喔

最近文章發表
- 柯南的弟弟
- 【推薦】禱告盒子
- 超級猩光大道
- 民民的異性緣
- 兩個爸爸
- 【怒】台灣之恥
- 父親節禮物
- ddy 美食--涼拌珊瑚草
- 破10萬囉
- 好久不見
最新的回應
oumyfamily:
謝謝你!我的網址是ww...
g184436:
我要加入 麻煩你
blanca0819:
謹民真的很可愛~~ ...
禎:
只能說養小孩會多了很多...
oumyfamily:
你好!謝謝你的設計,真...
withyou520:
私密留言
celia05168:
蝌蚪??民民才不要咧~~
niceboys:
ㄎㄎ ~ 可愛的柯南弟弟
tanna83:
哈哈~真好笑!
不好意思打擾了:
不知道為什麼 ...
文章分類
技術(6)
電腦應用(7)
程式技術(22)
軟體相關(17)
硬體技術(3)
Linux 相關(30)
網路應用(20)
生活(10)
心情點滴(75)
生活資訊(16)
生活隨筆(14)
心得分享(14)
不平則鳴(10)
謹民學校生活(10)
生活雜記(2)
健康資訊(3)
童言童語(15)
謹民成長記錄(108)
小品(3)
好玩的(10)
小品文摘(8)
笑話(17)
攝影(1)
攝影心得(11)
憶當年(3)
電腦講古(0)
懷舊系列(2)
數饅頭的日子(5)
雜七雜八(1)
其它(12)
Tags Cloud
時光機器

謹民出生第 天

搜尋此頻道內容
搜尋:
人氣指數
當日人次:
累積人次:
誰來我家
ddy 有多少客人
online

我推薦誰
誰推薦我
著作權條款
Creative Commons License
本部落格採用創用CC 2.5 TW授權條款釋出.重製,散布,展示本站內容,請遵守 姓名標示-非商業性-禁止改作
公益串聯
到台湾玩不带走一张发票
用愛彌補~羅慧夫顱顏基金會
我的書籤(選單)
攝影相關
台灣攝影聯盟
數位影像坊
DCView 數位視野
數位蘋果網
DC543 數位攝影家族
formosa 山戀手記
桔子妹攝影作品
國攝天香
jimmy 攝影集
攝影家手扎
英語教學
楊官教英文
ETC 台灣英語網
詩聲樂園
中央大學英語學習資料庫
SINO
發音與拼音學習輔助區
LiveABC 圖解字典
Star fall 英文學習網站
小笨霖英語筆記本
英文學習咖啡小站
翻譯網
程式設計
Perl中文線上說明
Understand for C++(linux driver source code)
Delphi.KTOP
RFC Sourcebook
PHP5網管實驗室
SHELL SCRIPTING 教學與心得
Win32 Assembly
線上程式碼轉 html
Win32 Scripting
Perl 學習手扎
Perl 資源
Internet RFC/STD/FYI/BCP Archives
Linux commands source code
各類程式語言範例
Free Programming resources
Python 教學文件
OPEN SOURCE 共享資源
Internet FAQ Archives
Cobbler 全文檢索系統
雪龍KTOP 線上查詢
自動控制
PLC Flash動畫教學網站
OMRON各型PLC RS232C 接線圖
Linux 相關
摩托學園討論區
Ubuntu正體中文站
鳥哥的 Linux 私房菜
rpm find
Ubuntu正體中文站
Kurobox/Linkstation 資訊網
Steven's Linux Note
LOOP -- LinuxHall
永遠的UNIX
OpenBSD Taiwan
LINUX MAN PAGES ONLINE
Linux MAN Pages
weithenn 的BSD筆記
自由軟體
開放原碼軟體社群討論區
自由軟體鑄造場
sourceforge.net
中山大學FTP
SED 手冊
GnuWin32 Packages
生活相關
新式身份證申請相關
現代車網
摩比市場
Every8D簡訊
宗教教育
行政院消費者保護委員會
兒童醫學網
親親寶貝講故事
高速公路即時路況
AutoTH 汽車技術網
吃出好胃道
其它
Linkist 聯絡家
Mobile01
無蝦米web 版
每日天文網站
傷心咖啡店(考試討論)
findbook
站內推薦
謹民成長大記事
謹民成長記錄(網誌)
站外推薦
李維的Blog
fjumonkey的地盤
踢爆!女記者私密生活大公開
六年級大會堂
PythonTW::台灣Python 技術教學網站
好友部落格
帥氣飛行員濟群的blog
code6421 blog
餅老闆的人像館
企鵝寶寶--晴晴
Jimmy的部落格
宗民 Ming's Blog
水野靈--恩典歲月
怕失憶筆記 by bestlong
時鐘

每月文章彙集
.Sep 2008(1)
.Aug 2008(8)
.Jul 2008(10)
.Jun 2008(4)
.May 2008(6)
.Apr 2008(6)
.Mar 2008(9)
.Feb 2008(6)
.Jan 2008(11)
.Dec 2007(13)
.Nov 2007(16)
.Oct 2007(7)
.Sep 2007(1)
.Aug 2007(10)
.Jul 2007(5)
.May 2007(6)
.Apr 2007(13)
.Mar 2007(10)
.Feb 2007(2)
.Jan 2007(4)
.Dec 2006(14)
.Nov 2006(5)
.Oct 2006(11)
.Sep 2006(8)
.Aug 2006(10)
.Jul 2006(15)
.Jun 2006(16)
.May 2006(14)
.Apr 2006(15)
.Mar 2006(17)
.Feb 2006(9)
.Jan 2006(20)
.Dec 2005(18)
.Nov 2005(18)
.Oct 2005(30)
.Sep 2005(21)
.May 2005(5)
.Apr 2005(22)
.Mar 2005(17)
部落格廣告


強力推薦,讓Blog的人氣轉換成現金,鼓勵Blog創作最佳的回饋方式,詳請見使用BloggerAds 為Blog賺取實質收益或點選上方圖片加入喔

另一個Blog廣告的選擇BlogAD,欲加入請按這裡喔
基督徒串聯
隨機文章跑馬燈
RSS 訂閱