導航:首頁 > 操作系統 > linuxawk字元串截取字元串

linuxawk字元串截取字元串

發布時間:2022-08-19 02:51:52

① 求教awk兩個字元之間截取字元串的方法

假設有字元串:

1

str="abcdefg"

要截取c和f之間的字元串,得到de。

可以用split函數,以c和f為分隔符,將字元串分割,取分割後的第二個欄位。

1

echo "$str" | awk '{split($0,a,"[cf]");print a[2]}'

另一種方法,也可以分別計算出c和f在字元串中的位置,然後根據截取字元串的起始位置(c的位置+1)和截取長度(f的位置-c的位置-1),用substr函數來得到截取後的字元串。

1

echo "$str" | awk '{a=index($0,"c");b=index($0,"f");print substr($0,a+1,b-a-1)}'

sed也可以做:

1

echo "$str" | sed -r 's/.*c(.*)f.*/\1/'

linux的shell編程中,如何將一段字元串進行截取

簡單介紹下Shell字元串截取的詳細方法,如截取指定字數、按指定的字元串截取、按指定要求分割。

一、Linux shell 截取字元變數的前8位,有方法如下:

③ Linux命令怎麼截取兩個字元之間的字元串 如1111[2222]3333 怎麼截取2222前

這個很簡單啦,寫一個給你吧,最簡單又能理解的

echo '1111[2222]3333' | awk -F '[' '{ print $2 }' | awk -F ']' '{ print $1 }'
或者
echo '1111[2222]3333' | cut -d '[' -f 2 | cut -d ']' -f 1

④ linux awk命令怎麼用

awk命令是Alfred Aho, Peter Weinberger, Brian Kernighan三位作者聯合開發的,用於Linux/Unix中處理數據和產生報告。awk命令功能十分強大,可根據需要抓取、截取指定的列或行。
首先在/mnt目錄下創建示例文本文件f1,其內容如下:
1 hello hello
2 data data
3 xyz abc
4 123 789
5 ftp
6 Apache
7 apache
然後,使用awk對f1文件內容進行處理,舉例如下。
①awk -F " " '{print $2,$3}' f1:截取顯示文檔的第二列和第三列,-F指定分隔符為空格,$表示顯示第幾列。其中print表示要做輸出信息的動作,$2和$3表示要輸出的列號,awk要求將print已經輸出列等內容放在「'{}'」之間。
②awk -F " " '($1>3){print $2,$3}' f1:選取第一列的值大於3的行,顯示其第二列和第三列,在「()」中指定篩選條件。
③awk 'NR==4 || NR==3' f1:顯示第三行和第四行,NR表示行號。
④awk '/data/ {print $2}' f1:抓取包含指定字元的行,再對列進行截取。此例中,awk先按照「data」字元串對文件f1中的行篩選,找出包含「data」的行以後,再按照默認的空格作為分隔符對行的內容做切割,僅列印出第二列的內容。
⑤awk '$2 ~ /data/ ' f1:抓取第二列包含指定字元的行。其中「~」表示是否匹配指定的「data」,如果第二列的內容包含「data」就列印出整行內容。
⑥awk '$2 !~ /data/ ' f1:抓取第二列不包含指定字元的行。其中「!~」表示是否不匹配指定的「data」,如果第二列的內容不包含「data」就列印出整行內容。

⑤ Linux下如何用一個指定的字元串去分割另一個字元串

Linux下可以用strstr()函數定位子串所在的位置,用來實現用子串分隔一個字元串。man strstr可以看函數相關介紹

$manstrstr
NAME
strstr-locateasubstring

SYNOPSIS
#include<string.h>

char*strstr(constchar*haystack,constchar*needle);
DESCRIPTION
Thestrstr().Theterminating`'charactersarenotcompared.
strstr()函數實現從haystack串中,查找第一次出現的needle子串,只比較有效字元,結束符不算在內。

如:

#include<stdio.h>
#include<string.h>
intmain()
{
chars[]="abc@#123@#def@456@#ghi#789";
charsub[]="@#";
char*pc,*pb;
pb=pc=s;//pb指向字元串頭
while(pc=strstr(pc,sub))//查找匹配字元串位置
{
*pc='';//置字元串結束符
puts(pb);//輸出當前字元串
pc+=strlen(sub);//跳過分隔符串
pb=pc;//pb指向新的起始位置
}
if(pb)
puts(pb);
return0;
}

⑥ linux 中如何截取2個字元串中間的字元

可以用awk、sed、tr、perl都能實現
set s = '"stratum":{"accepted_shares":1,"algorithm"'
set a = `echo $s | awk -F '["/:]' '{print $4}'`

⑦ linux 如何截取制定分隔符中的字元串

[root@centos~]#echoF0101_ACC_ORT_RRR_20151209_4_2227647.txt|awk-F"_"'{print$1$5$6}'
F0101201512094

這樣?

⑧ linux awk裡面怎樣用#*截取字元串

是說按 # 號來做分隔符,並且支持 n個#號的情況嗎
awk -F'#*' '{print$1"\t"$2"\t"$3}' abc.txt
abc.txt 內容可以是
1#2##3###4#5

可以把你的具體文件和awk命令貼出來

閱讀全文

與linuxawk字元串截取字元串相關的資料

熱點內容
c語言編譯器手機在線 瀏覽:848
戰艦世界什麼伺服器地址 瀏覽:550
windowsphone解壓縮 瀏覽:646
android工程目錄結構 瀏覽:137
pdf文檔是反的 瀏覽:528
javaobject比較 瀏覽:867
安卓如何設置微信屏幕鎖 瀏覽:189
本溪雲伺服器 瀏覽:375
玩機技巧華為app如何了解純凈模式 瀏覽:905
換演算法則數不變 瀏覽:719
java工作流activiti 瀏覽:788
單片機自動門程序 瀏覽:423
java培訓長沙 瀏覽:494
程序員生存現狀 瀏覽:588
光環游戲安裝器在哪個文件夾 瀏覽:654
公眾號圖片被壓縮 瀏覽:291
github優秀java 瀏覽:594
高壓縮視頻播放器 瀏覽:413
linux檢測apache 瀏覽:742
運行命令ur 瀏覽:939