linux 提取指定的列

2021-09-13 02:29:19 字數 1310 閱讀 3854

# 提取name.txt 檔案中的最後一列中以:分割的第二列 awk(符擷取命令)

awk -f '\t' '' name.txt|awk -f ':' ''>res.txt
其中-f 表示分割符,$nf表示最後一列,$(nf-1)表示倒數第二列 $2表示第二列 ,$0表示全部,$1表示第一列

#把上一步的資料和name.txt檔案合併生成乙個新的檔案

paste res.txt name.txt > out.txt
#讀取result.txt檔案中的內容,然後刪除這些名字的資料夾

#bin/bash

cat result.txt | while read line

dorm -rf $line

done

#提取某一列也可以用cut(字元提取命令)

-f  列號      提取第幾列

-d  「分隔符」  擷取到分隔符為止

cut  -d '\t' -f 1
####:cut預設是以tab來分隔多個列的,而awk預設的列分隔符為乙個或多個空格或tab,相對cut比較方便但有侷限性

example

cut提取整列,grep提取整行,一般同時使用,例如提取所有普通使用者的使用者名稱,所有使用者都位於/bin/bash下,-v排除root,擷取到:為止

cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1
處理文字:

a b c

q w (e)

z x (c c)

d f ((g) (g))

最終結果:

c(e)

(c c)

((g) (g))

辦法1:\s表示非空白字元  

\s表示空白字元  

+表示至少乙個

表示2個

以第一行資料為例   

(\s+\s+)就是指下列高亮的字串

q w(e)

其實就是刪除前兩列

sed -r 's/(\s+\s+)//' file
2:cut -c 5- file1

cut命令主要是接受三個定位方法:

第一,位元組(bytes),用選項-b

第二,字元(characters),用選項-c (乙個漢字三個字元)當遇到多位元組字元時,可以使用-n選項,-n用於告訴cut不要將多位元組字元拆開

第三,域(fields),用選項-f

php 提取多維陣列指定列

前言 有時候在開發中會遇到這樣的問題,我們需要把有規律的多維陣列按照縱向 列 取出,有下面的方法可用 我們將拿下面的陣列來處理 1 arr array 2 0 array id 1,name name1 3 1 array id 2,name name2 4 2 array id 3,name na...

linux提取指定行至指定位置

bin csh f if f errorlog.rpt then rm rf errorlog.rpt endif ls log loglst.lst 將log檔案寫到指定檔案 loop execute set n wc l loglst.lst 得到log檔案個數 行數 echo n set i ...

VBA Excel 提取有用的列並作列排序

stdata 資料檔案,rngconfig 配置檔案 public function run byref stdata as worksheet,byref rngconfig as range as worksheet on error goto proc err dim r config as ...