Jimmy的文件:Linux sed 學習
sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法
sed命令列格式為:
sed [-nefri] ‘command’ 輸入文字
常用選項:
-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上
-n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
-e∶直接在指令列模式上進行 sed 的動作編輯;
-f∶直接將 sed 的動作寫在一個檔案內, -f filename 則可以執行 filename 內的sed 動作;
-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。
常用命令:
a ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
s ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!
舉例:(假設我們有一檔名為ab)
刪除某行
[[email protected] ruby] #
sed '1d' ab #刪除第一行
[[email protected] ruby] # sed '$d' ab #刪除最後一行
[[email protected] ruby] # sed '1,2d' ab #刪除第一行到第二行
[[email protected] ruby] # sed '2,$d' ab #刪除第二行到最後一行
顯示某行
. [[email protected] ruby] #
sed -n '1p' ab #顯示第一行
[[email protected] ruby] # sed -n '$p' ab #顯示最後一行
[[email protected] ruby] # sed -n '1,2p' ab #顯示第一行到第二行
[[email protected] ruby] # sed -n '2,$p' ab #顯示第二行到最後一行
使用模式進行查詢
[[email protected] ruby] # sed -n '/ruby/p' ab #查詢包括關鍵字ruby所在所有行
[[email protected] ruby] # sed -n '/\$/p' ab #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義
增加一行或多行字串
[[email protected] ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
[[email protected] ruby] # sed '1a drink tea' ab #第一行後增加字串"drink
tea"
Hello!
drink tea
ruby is me,welcome to my blog.
end
[[email protected] ruby] # sed '1,3a drink tea' ab #第一行到第三行後增加字串"drink
tea"
Hello!
drink tea
ruby is me,welcome to my blog.
drink tea
end
drink tea
[[email protected] ruby] # sed '1a drink tea\nor
coffee' ab #第一行後增加多行,使用換行符\n
Hello!
drink tea
or coffee
ruby is me,welcome to my blog.
end
代替一行或多行
[[email protected] ruby] # sed '1c Hi' ab #第一行代替為Hi
Hi
ruby is me,welcome to my blog.
end
[[email protected] ruby] # sed '1,2c Hi' ab #第一行到第二行代替為Hi
Hi
end
替換一行中的某部分
格式:sed 's/要替換的字串/新的字串/g'
(要替換的字串可以用正則表示式)
[[email protected] ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'
#替換ruby為bird
[[email protected] ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'
#刪除ruby
插入
[[email protected] ruby] # sed -i '$a bye' ab #在檔案ab中最後一行直接輸入"bye"
[[email protected] ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
bye
相關推薦
Jimmy的文件:Linux sed 學習
sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法 sed命令列格式為: sed [-nefri] ‘command’ 輸入文字 常用選項: -n∶使用
linux編程之文件操作 linux知識學習
往回 開始 查看 宋體 more 用法 tab tro 學習 Linux文件內容查看是Linux操作中不可或缺的操作,以下是對Linux下常用的文件內容查看命令的匯總。1. cat 由第一行開始顯示文件內容用法:cat -A 相當於-vET的整合選項,可列出一些特殊字符而
Hadoop Shell命令(基於linux操作系統上傳下載文件到hdfs文件系統基本命令學習)
指南 統計信息 ... err nor 清空 ext -- als Apache-->hadoop的官網文檔命令學習:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 調用文件系統
linux學習(八) XShell上傳、下載本地文件到linux服務器
下載工具 windows 通過命令 保存文件 技術 lin ram cal 安裝 (一)通過命令行的方式 1.linux服務器端設置 在linux主機上,安裝上傳下載工具包rz及sz; 如果不知道你要安裝包的具體名稱,可以使用yum provides */name 進行查
CentOS初步學習記錄(三)Wget文件下載和Sed文件處理
下載速度 file 文件 socket cut inux 調試 數據行 use mozilla 一、wget 命令 wget命令用來從指定的URL下載文件,wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性,如果是由於網絡的原因下載失敗,wget會不斷
Django學習官網指導文件:使用models.ForeignKey時python3.7一定要傳入實參on_delete=models.CASCADE
網址:https://docs.djangoproject.com/en/2.0/ Fields 模型中最重要的部分——以及模型中唯一需要的部分——是它定義的資料庫欄位列表。欄位由類屬性指定。注意不要選擇與模型API衝突的欄位名稱,如清除、儲存或刪除。 from django.db i
Jimmy的文件: openshift origin ConfigMaps
Openshift Origin ConfigMaps ConfigMaps 是openshift提供的一種管理配置
JImmy的文件: 搭建叢集版openshift origin-3.9
系統安裝: 系統配置,理論上一般配置都可以,推薦 記憶體 4G以上 CPU 4個以上 硬碟 100G以上。 系統映象: CentOS-7
鳥哥的Linux私房菜-第10/11/12/13章(vim程序編輯器、學習bash、正則表達式與文件格式化處理、學習Shell Scripts)
重定向 數據文件 bin 情況下 control 入侵檢測 nts 背景 成了 第10章 vim程序編輯器 可以將vim看做vi的進階版本,vim可以用顏色或底線等方式來顯示出一些特殊的信息。 為何要學習vim?因為: a. 所有的 Unix Like 系統都會內
Linux核心文件:如何寫符合 kernel-doc 規範的註釋
## 簡介 Linux核心使用 [Sphinx](http://www.sphinx-doc.org/) 實現把 *Documentation* 目錄下的 [reStructuredText](http://docutils.sourceforge.net/rst.html) 檔案轉換為非常漂亮的文件。文件
python基礎知識之將item寫入JSON文件:
ext self 它的 基礎 string 寫入 lan raw pre pipelines.py import json class xxPipeline(object): def __init__(self): self.filename=ope
windows用SSH和linux同步文件&linux開啟SSH&ssh client 報 algorithm negotiation failed的解決方法之一
.com oot install .cn 導致 per 連接 pem 用戶 1、安裝、配置與啟動 SSH分客戶端openssh-client和openssh-server 如果你只是想登陸別的機器的SSH只需要安裝openssh-client(ubuntu有默認安裝,如果
Mac/Linux/Centos終端中上傳文件到Linux雲服務器
gin log itl not root用戶 終端 ssh端口 路徑和 輸入 Mac/Linux/Centos終端中上傳文件到Linux雲服務器 1、mac上傳文件到Linux服務器 scp 文件名 [email protected]/*
文件上傳下載學習
自動 ctype 下載方式 內容 一次 xxx orm 上傳文件 cnblogs 文件上傳核心要通過設置表單的enctype=”multipart/form-data”(具體的請求體數據格式可以通過火狐瀏覽器的開發者工具看到)來告訴瀏覽器以二進制流的方式上傳數據(而不是默認
PDB文件:每個開發人員都必須知道的
ger val 變量 conf 地址空間 代碼 modules div 查找 http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must
與用戶和組相關的文件位置 -- 學習筆記
用戶和組管理 下列文件內容是以“:”分隔,123...代表所在的位置/etc/passwd : root:x:0:0:root:/root:/bin/bash 1.“root”用戶帳戶登錄名稱 2.“x”使用x表示密碼占位符 3.“0”用戶帳戶的UID 4.“0”用戶帳戶的GID,即該用戶帳戶的基本組的ID
java讀取文件:文本文件
一個 throw str red mod rac logs exc lose 一般使用串行方式讀出或者寫入文件。總的來說,使用輸入流把文件內容讀入內存,使用輸出流把內存中的信息寫出到文件。這些類位於java.io包下。輸入和輸出的類和方法往往是對應的 文本文件
webpack快速入門——配置文件:服務和熱更新
並且 base 復制 暴露 span port 錯誤 tput 自己的 1.在終端安裝 cnpm i webpack-dev-server --save-dev 2.配置好後執行 webpack-dev-server,這時候會報錯 出現錯誤,只需要在pagejson裏
文件及Linux目錄結構
module 最好 win 對待 行修改 fstab size idc .html 什麽是文件 在linux系統上,所有的資源都是文件,Linux系統下的文件類型包括 普通文件(-) 目錄(d) 符號鏈接(l) 字符設備文件(c) 塊設備文件(b) 套接字(s) 命令管道
刪除指定路徑下指定天數之前(以文件的最後修改日期為準)的文件:BAT + REG + VBS
2.0 ane blog set logo fmt 演示 back style @echo off ::演示:刪除指定路徑下指定天數之前(以文件的最後修改日期為準)的文件。 ::如果演示結果無誤,把del前面的echo去掉,即可實現真正刪除。 ::本例調用了臨時VBS代碼