簡體   English   中英

如何以遞歸方式從文件名中刪除字符串

[英]How to remove a string from the filename recursively

讀取文件夾名稱並在文件名中查找並從中刪除,例如:

——\約翰·卡特
marsCarter - 約翰卡特.pdf

\西爾維亞·阿爾特
Sylvia Alter - Corre y no pares.mobi

\其他名字
其他名稱 - 參見 diabolic.epub

它應該是這樣的:

——\約翰·卡特
marsCarter.pdf

\Sylvia Alter\
        Corre y no pares.mobi

\Other Name\
        see the diabolis.epub

你能給我一個如何得到它的想法嗎? 謝謝

您可以使用basename(1)dirname(1)來獲取文件名和文件夾名。

> basename "./John Carter/marsCarter - John Carter.pdf"
> marsCarter - John Carter.pdf

> basename "$(dirname "./John Carter/marsCarter - John Carter.pdf")"
> John Carter

有了它,您可以嘗試使用sed(1)從文件名中刪除文件夾名稱。

> echo "marsCarter - John Carter.pdf" | sed -r 's/ - John Carter//'
> marsCarter.pdf

暫無
暫無

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

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