【问题标题】:Remove a Dynamic Suffix Pattern from String in Unix Shell Scripting在 Unix Shell 脚本中从字符串中删除动态后缀模式
【发布时间】:2014-07-15 03:54:41
【问题描述】:
我有以下格式的数据:
2.7G58%/usr
8%/oravl02
49%/oravl01
98%/osszoneusr/osszone/user
我需要删除从行首到百分比的所有内容,以便上述示例数据的输出为:
/usr
/oravl02
/oravl01
/osszoneusr/osszone/user
我正在专门寻找 linux 内置的字符串条带化或 sed 作为解决方案。
【问题讨论】:
标签:
linux
shell
unix
sed
scripting
【解决方案1】:
使用awk:
awk -F '%' '{print $2}' file
使用sed:
sed -i.bak 's/^.*%//' file
使用cut:
cut -d% -f2 file
【解决方案2】:
awk 变体。
awk -F% '$0=$NF' file
/usr
/oravl02
/oravl01
/osszoneusr/osszone/user
【解决方案3】:
Please try in below ways
cut: the delimiter must be a single character
bcsmc2rtese001 [~/Shell_p]$ cut -d '%' -f2 text1.txt
/usr
/oravl02
/oravl01
bcsmc2rtese001 [~/Shell_p]$ awk -F "%" '{print $2}' text1.txt
/usr
/oravl02
/oravl01
/osszoneusr/osszone/user