首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将名称的后半部分提取出来

将名称的后半部分提取出来
EN

Stack Overflow用户
提问于 2018-02-16 22:12:36
回答 3查看 49关注 0票数 1

好的,对于新的高级塞拉利昂,我正在尝试写一个脚本来自动删除占用HDD空间的本地快照。我知道你可以缩小使用薄快照/ 1000000000 4,但我觉得这只是一个创可贴。

所以我想做的是从以下几个方面提取2018-02-#的日期:

代码语言:javascript
复制
sudo tmutil listlocalsnapshots / 
com.apple.TimeMachine.2018-02-15-170531
com.apple.TimeMachine.2018-02-15-181655
com.apple.TimeMachine.2018-02-15-223352
com.apple.TimeMachine.2018-02-16-000403
com.apple.TimeMachine.2018-02-16-013400
com.apple.TimeMachine.2018-02-16-033621
com.apple.TimeMachine.2018-02-16-063811
com.apple.TimeMachine.2018-02-16-080812
com.apple.TimeMachine.2018-02-16-090939
com.apple.TimeMachine.2018-02-16-100459
com.apple.TimeMachine.2018-02-16-110325
com.apple.TimeMachine.2018-02-16-122954
com.apple.TimeMachine.2018-02-16-141223
com.apple.TimeMachine.2018-02-16-151309
com.apple.TimeMachine.2018-02-16-161040

我试过各种不同的

代码语言:javascript
复制
 | awk '{print $ } (insert number after $)

随同

代码语言:javascript
复制
 | cut -d ' ' -f 10-.

如果你知道我在这里错过了什么,我会非常感激的

编辑:这是一个脚本,它将消除那些令人讨厌的本地snapshots.If --任何人都感兴趣,再次感谢:

代码语言:javascript
复制
#! /bin/bash

dates=`tmutil listlocalsnapshots /  | awk -F "." 'NR++1{print $4}'`

for dates in $dates
do
   tmutil deletelocalsnapshots $dates
done
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-16 22:18:04

你们很亲密:

代码语言:javascript
复制
somecommand | cut -d"." -f4-
# or
somecommand | awk -F"." '{print $4}'

您也可以尝试sed,但是cut是为此而设计的。

票数 1
EN

Stack Overflow用户

发布于 2018-02-16 22:25:19

1- awk:可以使用-F选项指定字段分隔符,也可以打印子字符串。

代码语言:javascript
复制
 awk -F. '{print $4}'
 awk '{print substr($0,23)}'

2- cut:等效。

代码语言:javascript
复制
 cut -d. -f4
 cut -c23- 

3-纯bash (血!):和上面一样。

代码语言:javascript
复制
while IFS=. read s1 s2 s3 d; do echo "$d"; done
while read line; do echo "${line:23}"; done

实际上,使用少量的记录(就像在用例中那样),速度不是问题,甚至可以使用纯bash或regexp(就像在其他aswers中一样)。随着记录数量的增加,awkcut的速度越来越快。

票数 1
EN

Stack Overflow用户

发布于 2018-02-16 22:24:59

使用grepregex

代码语言:javascript
复制
$ grep -oP '\d{4}-\d{2}-\d{2}-\d{6}$'
2018-02-15-170531
2018-02-15-181655
2018-02-15-223352
2018-02-16-000403
2018-02-16-013400
2018-02-16-033621
2018-02-16-063811
2018-02-16-080812
2018-02-16-090939
2018-02-16-100459
2018-02-16-110325
2018-02-16-122954
2018-02-16-141223
2018-02-16-151309
2018-02-16-161040
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48835585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档