簡體   English   中英

如何排除 Linux 中的字符

[英]How do I exclude a character in Linux

寫一個通配符來匹配所有文件(不管文件在哪個目錄,只要要求通配符)命名在以下規則中:以字符串“image”開頭,緊跟一個數字(在范圍內) 0-9),然后是一個非數字字符加上其他任何字符,並以“.jpg”“.png”. 例如, image7.jpg和 image0abc.png 應該與您的通配符匹配,而image2.txtimage11.png不應該。

我的文件夾包含這些文件imag2gh.jpeg image11.png image1agb.jpg image1.png image2gh.jpg image2.txt image5.png image70.jpg image7bn.jpg Screenshot.png

如果我的命令有效,它應該只顯示image1agb.jpg image1.png image2gh.jpg image5.png image70.jpg image7bn.jpg

這是我使用的命令(ls -ad image[0-9][^0-9]*{.jpg,.png})但我只得到這個image1agb.jpg image2gh.jpg image7bn.jpg所以我'米失蹤(image1.png image5.png)卡利終端和我做了什么

ls -ad image[0-9][.0-9]*{,jpg..png}

信息

像 [0-9] 這樣的字符范圍通常出現在 RegEx 語句等中。 它們不會像 shell 球體(通配符)那樣工作。

可能的解決方案

  1. Pipe output 命令ls -a1 -a1grep命令的標准輸入(支持 RegEx)。
  2. 使用 RegEx 語句使grep過濾文件名。
ls -a1|grep "image"'[[:digit:]]\+[[:alpha:]]*\.\(png\|jpg\)'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM