shell命令學習:遞歸拷貝指定目錄及子目錄下的某一類型文件

命令
find
sed
paste
為什么要實現這一功能芒澜?

為了拷貝某一工程下的所有CMakeLists.txt,方便分析學習該工程的整個構建方式募胃,以及學習整個工程的源碼組織方式溉贿。

腳本
# clone directory recursively and its CMakeLists.txt files
# copy directory
find . -type d | sed 's/./mkdir -p ..\/clone_dir_arch/' | sh
#tree ../clone_dir_arch

# copy CMakeLists.txt
#copyfiles=`find -name "CMakeLists.txt" | sed 's/./cp ./' `
find -name "CMakeLists.txt" | sed 's/./cp ./' > cpy.txt
echo "...copyfiles"
cat cpy.txt

#distfiles=`find -name "CMakeLists.txt" | sed 's/./..\/clone_dir_arch/' `
find -name "CMakeLists.txt" | sed 's/./..\/clone_dir_arch/' > dst.txt
 
echo "...distfiles"
cat dst.txt

echo "...merging"
paste -d " "  cpy.txt dst.txt | cat | sh

效果:

clone_dir_arch/
├── examples
│   ├── ace
│   │   ├── logging
│   │   │   └── CMakeLists.txt
│   │   └── ttcp
│   │       └── CMakeLists.txt
│   ├── asio
│   │   ├── chat
│   │   │   └── CMakeLists.txt
│   │   └── tutorial
│   │       ├── CMakeLists.txt
│   │       ├── timer2
│   │       ├── timer3
│   │       ├── timer4
│   │       ├── timer5
│   │       └── timer6
│   ├── cdns
│   │   └── CMakeLists.txt
│   ├── CMakeLists.txt
│   ├── curl
│   │   └── CMakeLists.txt
│   ├── fastcgi
│   │   └── CMakeLists.txt
│   ├── filetransfer
│   │   ├── CMakeLists.txt
│   │   └── loadtest
│   ├── hub
│   │   └── CMakeLists.txt
│   ├── idleconnection
│   │   └── CMakeLists.txt
│   ├── maxconnection
│   │   └── CMakeLists.txt
│   ├── memcached
│   │   ├── client
│   │   │   └── CMakeLists.txt
│   │   └── server
│   │       └── CMakeLists.txt
│   ├── multiplexer
│   │   ├── CMakeLists.txt
│   │   └── harness
│   │       └── src
│   │           └── com
│   │               └── chenshuo
│   │                   └── muduo
│   │                       └── example
│   │                           └── multiplexer
│   │                               └── testcase
│   ├── netty
│   │   ├── discard
│   │   │   └── CMakeLists.txt
│   │   ├── echo
│   │   │   └── CMakeLists.txt
│   │   └── uptime
│   │       └── CMakeLists.txt
│   ├── pingpong
│   │   └── CMakeLists.txt
│   ├── procmon
│   │   └── CMakeLists.txt
│   ├── protobuf
│   │   ├── CMakeLists.txt
│   │   ├── codec
│   │   │   └── CMakeLists.txt
│   │   ├── resolver
│   │   │   └── CMakeLists.txt
│   │   ├── rpc
│   │   │   └── CMakeLists.txt
│   │   ├── rpcbalancer
│   │   │   └── CMakeLists.txt
│   │   └── rpcbench
│   │       └── CMakeLists.txt
│   ├── roundtrip
│   │   └── CMakeLists.txt
│   ├── shorturl
│   │   └── CMakeLists.txt
│   ├── simple
│   │   ├── allinone
│   │   ├── chargen
│   │   ├── chargenclient
│   │   ├── CMakeLists.txt
│   │   ├── daytime
│   │   ├── discard
│   │   ├── echo
│   │   ├── time
│   │   └── timeclient
│   ├── socks4a
│   │   └── CMakeLists.txt
│   ├── sudoku
│   │   └── CMakeLists.txt
│   ├── twisted
│   │   └── finger
│   │       └── CMakeLists.txt
│   ├── wordcount
│   │   └── CMakeLists.txt
│   └── zeromq
│       └── CMakeLists.txt
└── muduo
    ├── base
    │   ├── CMakeLists.txt
    │   ├── output
    │   └── tests
    │       └── CMakeLists.txt
    └── net
        ├── CMakeLists.txt
        ├── http
        │   ├── CMakeLists.txt
        │   └── tests
        ├── inspect
        │   ├── CMakeLists.txt
        │   └── tests
        ├── output
        ├── poller
        ├── protobuf
        │   └── CMakeLists.txt
        ├── protorpc
        │   └── CMakeLists.txt
        └── tests
            └── CMakeLists.txt

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市豆拨,隨后出現的幾起案子直奋,更是在濱河造成了極大的恐慌,老刑警劉巖辽装,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帮碰,死亡現場離奇詭異,居然都是意外死亡拾积,警方通過查閱死者的電腦和手機殉挽,發(fā)現死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拓巧,“玉大人斯碌,你說我怎么就攤上這事「囟龋” “怎么了傻唾?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長承耿。 經常有香客問我冠骄,道長,這世上最難降的妖魔是什么加袋? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任凛辣,我火速辦了婚禮,結果婚禮上职烧,老公的妹妹穿的比我還像新娘扁誓。我一直安慰自己防泵,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布蝗敢。 她就那樣靜靜地躺著捷泞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寿谴。 梳的紋絲不亂的頭發(fā)上锁右,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音拭卿,去河邊找鬼骡湖。 笑死,一個胖子當著我的面吹牛峻厚,可吹牛的內容都是我干的响蕴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惠桃,長吁一口氣:“原來是場噩夢啊……” “哼浦夷!你這毒婦竟也來了?” 一聲冷哼從身側響起辜王,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤劈狐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后呐馆,有當地人在樹林里發(fā)現了一具尸體肥缔,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年汹来,在試婚紗的時候發(fā)現自己被綠了续膳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡收班,死狀恐怖坟岔,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情摔桦,我是刑警寧澤社付,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站邻耕,受9級特大地震影響鸥咖,放射性物質發(fā)生泄漏。R本人自食惡果不足惜兄世,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一啼辣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碘饼,春花似錦熙兔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钠绍,卻和暖如春舆声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柳爽。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工媳握, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人磷脯。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓蛾找,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赵誓。 傳聞我的和親對象是個殘疾皇子打毛,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • CMake學習 本篇分享一下有關CMake的一些學習心得以及相關使用。 本文目錄如下: [1俩功、CMake介紹] [...
    AlphaGL閱讀 12,247評論 11 79
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 個人學習批處理的初衷來源于實際工作幻枉;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,725評論 0 11
  • 都是這樣的年輕人啊 “ 像我們這種一分鐘幾千萬上下的人诡蜓,老板熬甫,年終獎能發(fā)3000么。 ” 今晚加班出了年終獎方案了...
    報_apple閱讀 548評論 0 0
  • 今天晨讀分享的書是《元認知》蔓罚,元認知是一種反思自己思考的能力椿肩。同樣解決一件事,為什么有些人就是比較快脚粟?這個就是元認...
    有個歐寶閱讀 212評論 0 0