剪切命令以删除秒。外壳脚本
假设我们有时间和时间登录
2022-05-18-11:57:140100
我需要删除秒数的格式。这意味着最终的输出应该就像
2022-05-18-11:57
我尝试的以下内容
echo "2022-05-18-11:57:140100" | rev | cut -d/ -f6- | rev`:"
一样,这并不成功,我不知道该剪切命令是如何工作的。任何人都可以解释。提前致谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1st解决方案: 带有GNU
awk
您可以简单地做到以下操作。简单的说明将是SETfs
和的 as :,然后在awk
awk 的主块中,程序降低nf
带1并打印行。第二解决方案: 在任何
awk
中使用awk
's ' 。第三解决方案: 使用
sed> sed
捕获组的功能(在温度缓冲区中保持值),请尝试以下代码。第四解决方案(OP的努力修复): 使用
修复OP的努力,使用
Rev
+剪切
+Rev 代码>在这里组合。
1st solution: With GNU
awk
you can simply do it like following. Simple explanation would be, setFS
andOFS
as:
and then in main block ofawk
program decreaseNF
with 1 and print the line.2nd solution: In any
awk
usingawk
'smatch
function please try following.3rd solution: Using
sed
's capability of capturing groups(keep values in temp buffer) please try following code.4th solution(OP's efforts FIX): Fixing OP's efforts using
rev
+cut
+rev
combination here.这也可以在bash shell中轻松完成:
This can be done easily in bash shell also:
这5个解决方案中的任何一种应适用于
OFS= or gawk -- --NF FS=':[^:]*gawk
,mawk-1
,mawk-2
和macos nawk
:最紧凑的版本就像
or gawk NF-- FS=':[^:]*最紧凑的版本就像
or nawk NF=1 FS=':[^:]*最紧凑的版本就像
or mawk '$!_=$!_' FS=':[^:]*最紧凑的版本就像
2022-05-18-11:57最紧凑的版本就像
any one of these 5 solutions should work for
OFS= or gawk -- --NF FS=':[^:]*gawk
,mawk-1
,mawk-2
, andmacos nawk
:The most compacted version would be like
or gawk NF-- FS=':[^:]*The most compacted version would be like
or nawk NF=1 FS=':[^:]*The most compacted version would be like
or mawk '$!_=$!_' FS=':[^:]*The most compacted version would be like
2022-05-18-11:57The most compacted version would be like