Awk

grep 並從非結構化文件中剪切文本?

  • January 2, 2019

從下面 3 行我只需要 grep 和剪切 jar 文件名。如何從行中 grep jar 名稱並從那裡剪切。

Downloading:https://repo.maven.apache.org/maven2/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar   
   Downloaded:https://repo.maven.apache.org/maven2/org/springframework/spring-aspects/5.0.6.RELEASE/spring-aspects-5.0.6.RELEASE.jar (46 KB at 12.6 KB/sec)
   Downloading:https://repo.maven.apache.org/maven2/org/springframework/security/spring-security-config/5.0.5.RELEASE/spring-security-config-5.0.5.RELEASE.jar
640/1052 KB   2580/6582 KB
awk -F'.jar' '/.jar/{print $1".jar"}' file |awk '{print $NF}' FS=/

第一個 awk 只顯示包含“.jar”的行,並顯示它們直到 jar 文件的名稱

第二個awk刪除從行首到las出現“/”的所有內容,只留下jar文件名

如果您grep支持-o( --only-matching) 命令行選項,並且您想輸出以/結尾的非字元序列.jar,那麼您可以使用

grep -o '[^/]*\.jar\b' file

引用自:https://unix.stackexchange.com/questions/490919