成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Bash中抽取子字符串

系統 Linux 系統運維
所謂“子字符串”就是出現在其它字符串內的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 本文會向你展示在 bash shell 中如何獲取或者說查找出子字符串。

所謂“子字符串”就是出現在其它字符串內的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我們有多種方法可以從中把數字或指定部分字符串抽取出來。

How to Extract substring in Bash Shell on Linux or Unix

How to Extract substring in Bash Shell on Linux or Unix

本文會向你展示在 bash shell 中如何獲取或者說查找出子字符串。 

在 Bash 中抽取子字符串

其語法為:

  1. ## 格式 ##
  2. ${parameter:offset:length}

子字符串擴展是 bash 的一項功能。它會擴展成 parameter 值中以 offset 為開始,長為 length 個字符的字符串。 假設, $u 定義如下:

  1. ## 定義變量 u ##
  2. u="this is a test"

那么下面參數的子字符串擴展會抽取出子字符串:

  1. var="${u:10:4}"
  2. echo "${var}"

結果為:

  1. test

其中這些參數分別表示:

  • 10 : 偏移位置
  • 4 : 長度 

使用 IFS

根據 bash 的 man 頁說明:

IFS (內部字段分隔符)用于在擴展后進行單詞分割,并用內建的 read 命令將行分割為詞。默認值是。

另一種 POSIX 就緒POSIX ready的方案如下:

  1. u="this is a test"
  2. set -- $u
  3. echo "$1"
  4. echo "$2"
  5. echo "$3"
  6. echo "$4"

輸出為:

  1. this
  2. is
  3. a
  4. test

下面是一段 bash 代碼,用來從 Cloudflare cache 中去除帶主頁的 url。

  1. #!/bin/bash
  2. ####################################################
  3. ## Author - Vivek Gite {https://www.cyberciti.biz/}
  4. ## Purpose - Purge CF cache
  5. ## License - Under GPL ver 3.x+
  6. ####################################################
  7. ## set me first ##
  8. zone_id="YOUR_ZONE_ID_HERE"
  9. api_key="YOUR_API_KEY_HERE"
  10. email_id="YOUR_EMAIL_ID_HERE"
  11.  
  12. ## hold data ##
  13. home_url=""
  14. amp_url=""
  15. urls="$@"
  16.  
  17. ## Show usage
  18. [ "$urls" == "" ] && { echo "Usage: $0 url1 url2 url3"; exit 1; }
  19.  
  20. ## Get home page url as we have various sub dirs on domain
  21. ## /tips/
  22. ## /faq/
  23.  
  24. get_home_url(){
  25. local u="$1"
  26. IFS='/'
  27. set -- $u
  28. echo "${1}${IFS}${IFS}${3}${IFS}${4}${IFS}"
  29. }
  30.  
  31. echo
  32. echo "Purging cache from Cloudflare。.。"
  33. echo
  34. for u in $urls
  35. do
  36. home_url="$(get_home_url $u)"
  37. amp_url="${u}amp/"
  38. curl -X DELETE "https://api.cloudflare.com/client/v4/zones/${zone_id}/purge_cache" \
  39. -H "X-Auth-Email: ${email_id}" \
  40. -H "X-Auth-Key: ${api_key}" \
  41. -H "Content-Type: application/json" \
  42. --data "{\"files\":[\"${u}\",\"${amp_url}\",\"${home_url}\"]}"
  43. echo
  44. done
  45. echo

它的使用方法為:

  1. ~/bin/cf.clear.cache https://www.cyberciti.biz/faq/bash-for-loop/ https://www.cyberciti.biz/tips/linux-security.html 

借助 cut 命令

可以使用 cut 命令來將文件中每一行或者變量中的一部分刪掉。它的語法為:

  1. u="this is a test"
  2. echo "$u" | cut -d' ' -f 4
  3. echo "$u" | cut --delimiter=' ' --fields=4
  4. ##########################################
  5. ## WHERE
  6. ## -d' ' : Use a whitespace as delimiter
  7. ## -f 4 : Select only 4th field
  8. ##########################################
  9. var="$(cut -d' ' -f 4 <<< $u)"
  10. echo "${var}"

想了解更多請閱讀 bash 的 man 頁:

  1. man bash
  2. man cut

另請參見: Bash String Comparison: Find Out IF a Variable Contains a Substring 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-12-06 08:27:50

Bash腳本字符串

2022-11-25 07:53:26

bash腳本字符串

2023-01-09 09:52:06

Bash字符串

2022-05-10 09:47:10

Bash字符串Linux

2022-12-08 12:05:03

Bash字符串

2021-04-15 00:16:18

JavaString字符串

2022-12-15 16:23:32

JavaScrip字符串開發

2020-06-17 17:29:11

BashLinux

2023-10-20 15:58:27

Python刪除指定字符

2009-11-24 19:33:07

PHP字符串中加入變量

2023-10-19 14:52:27

2021-11-25 00:04:16

C# 插值字符串

2021-03-11 18:44:39

字符串SQL表達式

2022-11-21 12:06:24

fgrep命令Linux

2024-12-04 17:05:14

find()函數字符串

2020-07-01 18:31:14

Linuxbash永遠循環

2023-07-30 09:50:51

Bash字符串

2022-11-24 08:01:57

bash腳本字符串

2020-04-09 10:18:51

Bash循環Linux

2021-01-09 23:11:33

SQL數據庫字母
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久com | 国产精品一区二区三 | 瑟瑟免费视频 | 日韩欧美国产成人一区二区 | 51ⅴ精品国产91久久久久久 | 中文字字幕在线中文乱码范文 | 日本亚洲欧美 | 亚洲激情综合 | 在线午夜 | 九色 在线| 九九免费在线视频 | 99久久精品一区二区毛片吞精 | 国产成人精品一区二区三区在线 | 国内自拍视频在线观看 | 久久这里只有精品首页 | www在线| 国产综合av | 一本色道久久综合亚洲精品高清 | 黄色国产 | 国产一区h | 久久久青草婷婷精品综合日韩 | 国产精品视频播放 | 美女爽到呻吟久久久久 | 福利av在线 | 日韩午夜精品 | 日韩午夜在线播放 | 亚洲在线一区二区 | 中文字幕黄色大片 | 二区久久 | 成人美女免费网站视频 | 久久av网| 久久国产精品-国产精品 | 精品1区2区 | 国产欧美精品区一区二区三区 | 精品国产一区二区三区成人影院 | 黄网站免费在线看 | 亚洲另类自拍 | 日本 欧美 三级 高清 视频 | 国产精品亚洲精品日韩已方 | 综合精品久久久 | 国产高清一区二区 |