bash - 每 ! (感叹号)在bash
问题描述
我想!
在bash中的每个(感叹号)之后打印字符串/文本。
示例字符串/文本:
check_queue!TEST_IN!Queue!400!750
我想要这个输出:
TEST_IN Queue 400 750
我试过这个:
cat filename | cut -d "!" -f2
解决方案
你几乎在那里:
cut -d! -f2- filename | tr '!' ' '
-f2-
表示字段 2 和所有后续字段
不需要cat
,只要在文件上工作
tr '!' ' '
将感叹号翻译!
成空格
。
或者,如果您的版本cut
有一个--output-delimiter=
选项:
cut --delimiter=! --fields=2- --output-delimiter=' ' filename
或使用awk
:
awk -F! '{$1=""; print substr($0,2)}' filename
-F!
:将字段分隔符设置为!
$1=""
:擦除第一个字段print substr($0,2)
:从第二个字符开始打印整个记录,因为第一个是空白分隔符,保留在擦除的第一个字段中。
推荐阅读
- python-3.x - 跟踪从 pycharm 中导入 python 库的位置
- node.js - 在选择提示中将选项列表呈现为按钮的正确方法是什么?
- c# - xUnit 不支持异步测试?
- c - wait() , fork() 和 times() 系统调用我做错了什么?
- javascript - javascript:更改所有键的值顺序
- image - 使用 Moffat PSF(点扩散函数)解决大气效应的反卷积问题
- excel - 将某个值中的每个值移动到某个单元格
- functional-programming - 网站功能,单选按钮选择的不同库
- javascript - 当我使用array.push时,用于重复值的Javascript
- angular - .Net 核心角度应用程序无法定位 ngx 引导模块