導航:首頁 > 操作系統 > 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字元串截取字元串相關的資料

熱點內容
linux如何升級php版本升級 瀏覽:841
二級程序員c語言難度 瀏覽:351
批處理編譯qt 瀏覽:65
鐵友app怎麼查詢機票訂單 瀏覽:197
myeclipselinux破解版 瀏覽:417
批處理命令語法不正確 瀏覽:889
pdf合並成一個pdf在線 瀏覽:383
柱加密區構造要求 瀏覽:514
地板木龍骨標准跟加密區別 瀏覽:150
解壓放鬆的好地方河南 瀏覽:965
搜狗怎麼移動到文件夾 瀏覽:617
文件自動選擇到文件夾 瀏覽:794
贈送的app怎麼在ipad下載 瀏覽:508
頸椎解壓後神經恢復 瀏覽:849
怎麼看app訂閱扣費 瀏覽:314
linux系統的負載均衡 瀏覽:419
遇到挫折解壓視頻 瀏覽:778
什麼指令看伺服器運行負載 瀏覽:84
因碩智能門鎖卡片是加密的么 瀏覽:336
為什麼會伺服器不可用 瀏覽:290