The*_*tor 0 bash awk shell-script
我有一个打印目录树的变量,例如:
/folder1/folder2/folder3/folder4/folder5/folder6
Run Code Online (Sandbox Code Playgroud)
我只对前四个值感兴趣,bash 中仅打印由反斜杠分隔的第一个目录的最佳方法是什么,例如:
/folder1/folder2/folder3/folder4
Run Code Online (Sandbox Code Playgroud)
小智 8
使用 awk:
echo /folder1/folder2/folder3/folder4/folder5/folder6 |\
awk -F/ -vOFS=/ '{ print $1,$2,$3,$4,$5; }'
Run Code Online (Sandbox Code Playgroud)
OFS
= 输出字段分隔符。
$1 .. $5
由于前导斜杠计数为1
.
使用切割:
echo /folder1/folder2/folder3/folder4/folder5/folder6 |\
cut -f -5 -d/
Run Code Online (Sandbox Code Playgroud)
使用 sed:
echo /folder1/folder2/folder3/folder4/folder5/folder6 |\
sed 's:\(\(/[^/]\+\)\{4\}\).*:\1:'
Run Code Online (Sandbox Code Playgroud)