對Sed1line中一些命令的理解 五

2021-08-29 21:24:28 字數 621 閱讀 8606

# reverse order of lines (emulates "tac") 

#反轉文章行的順序(類似"tac" )

sed '1!g;h;$!d' # method 1

sed -n '1!g;h;$p' # method 2

說下method1原理,method2和它類似。

h   copy pattern space to hold space.

流程如下

當讀入第一行的時候,不匹配1!g,g不執行,然後執行h命令

將第一行的內容copy到了hold space。

不是最後一行,匹配$!d,執行d命令刪除當前pattern space中第一行的內容,並讀入下一行,並抑制預設輸出

第二行匹配1!g,執行g命令,將hold space的內容附加到當前pattern space內容的後面,

也就是第一行附加在第二行的後面。

繼續執行h命令,將當前pattern space的內容copy到hold space

執行到$!d,不是最後一行,就繼續迴圈。

執行到了最後一行,$!d不執行,預設out。

這個迴圈就保證了前面一行的內容附加到後面一行的尾部,產生tac效果,對所有行做了反轉順序輸出。

DOS中一些常用的命令

用cmd進入ms dos環境中 出現c 輸入命令 一,磁碟機交換 磁碟機名 c d e etc 二,cd 目錄交換 cd drive path 交換到下級目錄 如 c cd windows 出現 c windows cd.跳回上一層目錄 三,dir 顯示檔案清單 dir drive path fil...

Docker中一些常用的命令

docker info 這條資訊樓主一般用來檢視docker 是否安裝成功 如果想測試一下 sudo docker pull busybox busybox是乙個最小的 linux系統,它提供了該系統的主要功能 如果你使用了 daocloud 公司的加速器 你在拉取映象的時候時需要將 docker ...

git中一些簡單的命令

本地庫初始化 git init 設定簽名 設定 修改 專案級別 倉庫級別 盡在本地庫範圍內有效 新增提交以及檢視操作狀態 將目錄下的檔案新增到暫存區追蹤檔案 git add filename 將檔案從暫存區移除取消追蹤 git rm cached filename 將檔案資訊提交到本地庫 將更新的檔...