2

我正在尝试使用 awk 在文件路径中提取特定的子字符串。鉴于我有一些东西进入 awk 命令 as a/workspace/folder.fold/secondfolder/file.ext,我如何让它结果为folder.fold/secondfolder/file.ext

我试图做

| awk -F "/" '{ print $2 }'

但这只会给我folder。任何帮助都是肯定的,因为我对 awk 很陌生。

编辑:它实际上是作为a/workspace/folder.fold/secondfolder/file.ext. 在我的尝试中,额外的a/部分被提取为 1 美元。

4

3 回答 3

2

awk不是最好的工具,但你可以这样做:

awk '{ sub( "/[^/]*/","")}1'
于 2013-02-12T22:31:47.920 回答
1

你可以试试 sed

sed -re 's@([^/+]/)([^/]+/)@@' temp.txt

输入

a/workspace/folder.fold/secondfolder/file.ext

输出

folder.fold/secondfolder/file.ext

于 2013-02-13T03:37:48.073 回答
1

实现所需输出的一些方法是

echo '/workspace/folder.fold/secondfolder/file.ext' | awk -F/ '{for(i=3;i<=NF;i++) printf("%s" ,$i FS)}

echo '/workspace/folder.fold/secondfolder/file.ext' | cut -d / -f 3-
于 2013-02-12T22:55:25.833 回答