1. 程式人生 > >常用文字操作命令

常用文字操作命令

1. tr 按列替換

  • echo "{123}" | tr -d '{}' 刪除輸入中的 “{” 和 “}”
  • cat testfile |tr a-z A-Z 將檔案testfile中的小寫字母全部轉換成大寫字母

2. cut : cut [-b] [file] 列切分

cut 命令從檔案的每一行剪下位元組、字元和欄位並將這些位元組、字元和欄位寫至標準輸出。

如果不指定 File 引數,cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標誌之一。

  • echo "123,456" | cut -d "," -f 1 以”,”分隔擷取輸入中的每行的第一部分內容輸出.
  • who | cut -b 3
    以位元組為分隔, 輸出每行的第三個位元組. -c 是以字元為分隔
  • count=$(echo -e "${line}" | cut -f 2) 其中,line中字元是以tab作為分隔符!

3. chown, chgrp, chmod 許可權

sudo chgrp root * 修改當前目錄下所有檔案為root組

sudo chown root * 修改當前目錄下所有檔案的owner為root

sudo chmod 777 -R dir 遞迴修改dir的許可權為777

sudo chmod 755 file.sh 修改file.sh為任何人可執行許可權

4. sudo

  • sudo -l
    檢視當前使用者執行命令許可權
  • sudo -u <user> command 使用user使用者執行命令command

5. uniq 去重

uniq -c file 在每行的旁邊增加重複的數量。

6. nl 輸出前加行號

  • nl file在輸出的內容前加行號
  • nl -b a file 遇到空行,也加行號。
  • nl -n rz -w 3 file 行號3位對其,前面補0.

7. shuf 打亂檔案順序

  • shuf sort_file -o rsort_file

8. split 將檔案切分

  • split -5000 filesplit -l 5000 file
    將file按行切分成多個檔案, 檔案最大行為5000
  • split -5000 -d file 以數字作為字尾,預設:xaa,xab,xac, 現在x00,x01,x02
  • split file.txt -b 10M 將檔案file.txt平均切分成10M

合併檔案

  • cat x* > file.txt 將以x開頭的所有檔案合併到file.txt`中
  • cat file1 file2 > file3 將file1和file2合併儲存到file3中.

    檔案內容順序, 按照file1+file2的順序儲存到file3

模式切分csplit

將文字檔案file以第 2 行為分界點切割成兩份,命令: csplit testfile 2

檔案求交,差,補

cat a b | sort | uniq > c # c 是 a 並 b

cat a b | sort | uniq -d > c # c 是 a 交 b

cat a b b | sort | uniq -u > c # c 是 a - b

9. sed按行操作文字(大文字操作)

大文字資料修改,編輯,儲存,不能用編輯器開啟,可以藉助sed對大檔案進行修改

sed編輯行以1為起始index!

詳解

  • -e 多次編輯

nl file | sed -e '3,$d' -e 's/bash/blueshell/' 刪除第三行到最後一行,然後將1-2行中匹配bash的字串替換成blueshell字串

sed -e 4a\newLineContent file 在第四行後天新增一行內容newLineContent

  • -n 僅顯示script處理後的結果。

nl /etc/passwd | sed -n '5,7p' 僅列出檔案的5-7行。

nl /etc/passwd | sed -n '/root/p' 僅列出匹配root的行

  • -i 直接編輯原始檔危險動作

sed -i 's/\.$/\!/g' file 將file的最後一行中的.替換成!

sed -i '$a # This is a test' file 在最後一行,再新增一行內容:# This is a test' file

nl /etc/passwd | sed -n '/bash/{s/bash/blueshell/;p;q}' 首先匹配所有bash行,然後執行{}裡面的一組動作,替換bash為blueshell,p列印,q退出!

-e 接的動作:

  • a :新增, 在當前行的下一行新增,是新的一行

  • i :插入, 在當前行的上一行插入,是新的一行

  • c :取代

  • d :刪除, 後面沒有內容;

nl file | sed '2,5d' 刪除第二到五行!

sed '2d' file 刪除第二行

nl file | sed -n '/root/p' 刪除所有行中包含root的行!

  • p :列印列。通常 p 與引數 sed -n 一起用

  • s :替換,/要被取代的字串/新的字串/g

使用

  1. 查詢行號 grep -n --color '您的司機賬戶已被凍結' outbox.csv

  2. 刪除對應行號儲存: sed -e 5d file1 > ./file2 刪除第五行 並儲存到當前目錄下的file2檔案中。

  3. 刪除匹配項: cat file1 | sed '/hello/d' > ./file2 刪除所有行中包含hello字串的行儲存。

    nl file1 | sed '/hello/d' > ./file2 在每行內容前加一個行號,儲存到檔案中!

10. 只輸出一行中匹配的字串.

語法: grep -o 'regex'

  • less file* | grep type | grep -o 'user\[.*\]user_id' | grep -o '\[.*\]' | sort | uniqfile開頭的所有檔案中,每行包含type的字串,提取字串中以user[.*]user_id形式存在[]中的內容!

相關推薦

常用文字操作命令

1. tr 按列替換 echo "{123}" | tr -d '{}' 刪除輸入中的 “{” 和 “}” cat testfile |tr a-z A-Z 將檔案testfile中的小寫字母全部轉換成大寫字母 2. cut : cut [-b] [f

簡單的介紹下linux 常用操作命令

linux 簡單操作 # 首先給大家介紹一下 vim文本編輯器 # 它主要的是創建文件,文檔,對文檔,文件進行編輯,例如:windows中的,txt文件,doc文件等等,//可以給文件寫入內容 # 舉個簡單的例子: vim a

Oracle常用ASM操作命令

Oracle常用ASM操作命令在Oracle RAC環境下,使用grid帳號執行運行asmcmd進入asm命令模式,如:[grid@oradb-node1 ~]$ asmcmdASMCMD> ASMCMD> du //顯示指定的ASM目錄下ASM文件占用的所有磁盤空間ASMCMD> ls

常用基本操作命令

注:命令名稱、命令引數、命令物件之間用空格鍵分隔,命令可用Tab鍵補全。 1、reboot 命令 reboot 命令用於重啟作業系統,預設只能使用 root 管理員 來重啟,其命令如下: 2、poweroff 命令 poweroff命令用於關閉作業系統,預設 

開啟運維之路之第 2 篇——認識Linux及常用目錄操作命令

IT界內有3種人最能裝X:①打字速度一把嗦(初級)。②懂電腦配置,如防火牆、聯網、電腦埠、各種終端的使用(中級)。③用命令列搞事情(高階)!請對號入座 ^_^  本屌剛進入初級階段! 本文將要帶你直接進入高階的裝X階段! 認識Linux虛擬機器: Linux系統是一種典型的

Linux的常用基本操作命令

基本操作: Ctrl+L 清空螢幕(清屏)其實還在往上面還是能翻到 目錄操作: cd .. 進入到父目錄目錄中,也就是父資料夾 cd ~ 進入到當前操作賬號目錄中 cd / 進入到根目錄中 cd ./my/jar 進入到當前目錄下面的my下面的jar資

docker容器常用操作命令

文章目錄 1、`docker run` 新建並執行容器 1.1、`--name 別名` 給容器起別名 2、`docker ps` 列出當前docker中 `正在執行` 的 `容器` 2.1、`docke

mysql常用操作命令

在mysql中以半形分號;作為命令的結束符 檢視當前系統包含的資料庫:mysql> show databases [like ' ']; 從一個數據庫切換到另一個:mysql>use oldboy;(oldboy為資料庫名) 檢視當前資料庫包含的表:mysql> show t

hadoop HDFS常用檔案操作命令

命令基本格式: hadoop fs -cmd < args > 1.ls hadoop fs -ls / 列出hdfs檔案系統根目錄下的目錄和檔案 hadoop fs -ls -R / 列出hdfs檔案系統所有的目錄和檔案

linux常用檔案操作命令

目錄 本文列出了linux常用的檔案操作命令,如 解壓縮檔案 檢視檔案內容 編輯檔案內容 建立檔案/刪除檔案 建立目錄/刪除目錄 複製/移動檔案(夾) 檢視檔案/目錄當前絕對路徑 檢視檔案(夾)大小 檢視/修改檔案(夾)許可權 修改檔案(夾)名稱

Hive常用分割槽操作命令20180805

環境:hadoop-2.7 , hive 2.1 操作hive資料倉庫中的表有個前提,就是被操作的表必須是有分割槽的。需要在建表的時候指定分割槽,具體如何建立有分割槽的表,請看我的另一篇文章 《在hive中建立分割槽表,再關聯到hdfs有關位置,而不需匯入資料到

常用DOS操作命令

按住電腦鍵盤地帶Windows圖示的鍵和R鍵就會出現以下小窗體: cd..表示回退到上一級目錄,系統最頂級的目錄是碟符 cd\直接退 cd 資料夾名(進入碟符目錄,中間有一個空格) 切換碟符 直接進入其他碟符的資料夾目錄 dir展示當前目錄所有檔案,帶尖括號的是

Excel常用文字操作

1.MID函式 函式名稱:mid 主要功能:從一個文字字串的指定位置開始,擷取指定數目的字元。 使用格式:mid(text,start_num,num_chars) 引數說明:text代表一個文字字串;start_num表示指定的起始位置;num_chars表示要擷取的數目。 應

linux下常用vi操作命令

   上一篇文章我們闡述了linux常用的命令,這篇文章主要闡述linux系統的vi操作指令。編輯器: vivi 的工作模式 編輯模式 插入模式 命令模式 shell 切換 選項設定 vim 和 gvim 的高階特色 1.6.1  vi 的工作模式Vi 在初始啟動後首先進入編

vim 一些簡單常用操作命令

vi +n filename 開啟檔案,游標置於n行首 vi + filename 游標到最後一行行首 vi +/pattern filename 匹配到pattern 第一個的位置 vi -r filename回覆上次崩潰的檔案位置 i 插入 a 附加 o 開啟 c 修改

Redis資料型別及常用操作命令——LIST操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ LPUSH key value [value …] 將一個或多個值 value 插入到列表 key 的表頭 如果有多個 value 值,那麼各個 value 值按從左到右的順序依次插入到表頭: 比如說,對空

Redis資料型別及常用操作命令——String操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ set k v: 當set k1 v1後再次set k1 v2,則會覆蓋上一次的值; get key: 獲取key的value; del key: 刪除當前key; APPEND key value:

Redis資料型別及常用操作命令——key操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ key: select:用於選擇redis的DB,redis的DB有0-16個數據庫。 keys /key::遍歷該資料庫中的所有的key,key代表具體的key。 EXISTS key:代表是否存在

Redis資料型別及常用操作命令——資料型別

Redis總共有5大資料型別,分列如下: String(字串): string是redis最基本的型別,你可以理解成與Memcached一模一樣的型別,一個key對應一個value。 string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的

Redis資料型別及常用操作命令——hash操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ HSET key field value 將雜湊表 key 中的域 field 的值設為 value 。 如果 key 不存在,一個新的雜湊表被建立並進行 HSET 操作。 如果域 field 已經存在於雜