如何在管道命令中使用条件语句?

暗淡

正在处理的数据将遵循特定的模式。在这种情况下,我想隔离在第三列中找到的所有字符,并返回在“-”之后找到的所有字符,但前提是该列中存在该分隔符。否则,它将不返回任何内容。

eval $A=$(echo $1 | awk -F"." '{print $3}' | cut -d\- -f2-)

第一条awk语句将字符串分成

111
222
333-ab3-On21-2

cut命令在第一个“-”之后打印字符。

字符串1 111.2222.333-ab3-On21-2返回所需的结果:

ab3-On21-2

字符串2 111.2222.334返回不需要的结果:

333

"-"分隔符是不存在的字符串的最后一节,怎么会这样的代码改为在这种情况下返回0或“”?

史蒂芬·哈里斯

我不确定您从何处获得“条件”,因为您的陈述中没有任何条件。awk -F- {print}没有做任何有用的事; 只是将输入传递到输出。

但是,您可以使用sed表达式做您想做的事情,以简化整个管道:

sed -n 's/.*\.[^-]*-\(.*\)/\1/p'

-np手段,这将只打印与表达式匹配的字符串。

该表达式将剥离到最后一个.,然后剥离第一个之前的所有内容-

所以:

% echo 111.2222.333-ab3-On21-2 | sed -n 's/.*\.[^-]*-\(.*\)/\1/p'
ab3-On21-2
% echo 111.2222.333 | sed -n 's/.*\.[^-]*-\(.*\)/\1/p'           
% 

如果您输入的内容比较复杂(例如,可能有四个.定界字段),则模式可能需要更巧妙一些。

sed -n 's/.*\.[^-]*-\([^\.]*\).*/\1/p'

例如

% echo 111.2222.333-ab3-On21-2.999 | sed -n 's/.*\.[^-]*-\([^\.]*\).*/\1/p'
ab3-On21-2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在XSLT中使用条件语句

来自分类Dev

如何在TOSCA中使用循环语句和条件语句?

来自分类Dev

如何在Jenkins管道脚本中使用源命令

来自分类Dev

如何在管道命令中使用别名替换单个单词?

来自分类常见问题

如何在r中的条件匹配中使用管道?

来自分类Dev

如何在 R 编程语言的内部命令中使用 if 语句

来自分类Dev

如何在SQL case语句中使用> =条件?

来自分类Dev

如何在“链接的”方法调用中使用条件语句?

来自分类Dev

如何在Eclipse中使用JavaDocs显示条件返回语句?

来自分类Dev

如何在Eclipse中使用JavaDocs显示条件返回语句?

来自分类Dev

如何在PowerShell中使用条件语句重命名文件

来自分类Dev

如何在vue.js中使用条件语句:attr

来自分类Dev

如何在swift方法中使用条件语句

来自分类Dev

如何在SQL UPDATE语句中使用IF条件?

来自分类Dev

如何在bash case语句中使用条件构造?

来自分类Dev

如何在Angular JS中使用条件语句

来自分类Dev

如何在条件语句中使用液体标签

来自分类Dev

如何在javascript中使用包含“and”的条件进行if语句

来自分类Dev

D3 - 如何在输入中使用条件语句

来自分类Dev

如何在 case 语句的 when 条件中使用变量

来自分类Dev

如何在bash shell的'test'命令中使用'AND'条件

来自分类Dev

如何在使用-字符的命令中使用管道和标准输入

来自分类Dev

如何在Azure DevOps中使用yaml从管道运行git命令

来自分类Dev

如何在Linux中使用管道指定命令行参数?

来自分类Dev

如何在自定义bash脚本中使用来自不同命令的管道输出?

来自分类Dev

如何在管道分隔文件中使用 awk 命令仅从文件中获取奇数条目?

来自分类Dev

如何在管道中使用状态?

来自分类Dev

如何在Delphi中使用管道模式

来自分类Dev

如何在ggplot管道中使用子集?

Related 相关文章

  1. 1

    如何在XSLT中使用条件语句

  2. 2

    如何在TOSCA中使用循环语句和条件语句?

  3. 3

    如何在Jenkins管道脚本中使用源命令

  4. 4

    如何在管道命令中使用别名替换单个单词?

  5. 5

    如何在r中的条件匹配中使用管道?

  6. 6

    如何在 R 编程语言的内部命令中使用 if 语句

  7. 7

    如何在SQL case语句中使用> =条件?

  8. 8

    如何在“链接的”方法调用中使用条件语句?

  9. 9

    如何在Eclipse中使用JavaDocs显示条件返回语句?

  10. 10

    如何在Eclipse中使用JavaDocs显示条件返回语句?

  11. 11

    如何在PowerShell中使用条件语句重命名文件

  12. 12

    如何在vue.js中使用条件语句:attr

  13. 13

    如何在swift方法中使用条件语句

  14. 14

    如何在SQL UPDATE语句中使用IF条件?

  15. 15

    如何在bash case语句中使用条件构造?

  16. 16

    如何在Angular JS中使用条件语句

  17. 17

    如何在条件语句中使用液体标签

  18. 18

    如何在javascript中使用包含“and”的条件进行if语句

  19. 19

    D3 - 如何在输入中使用条件语句

  20. 20

    如何在 case 语句的 when 条件中使用变量

  21. 21

    如何在bash shell的'test'命令中使用'AND'条件

  22. 22

    如何在使用-字符的命令中使用管道和标准输入

  23. 23

    如何在Azure DevOps中使用yaml从管道运行git命令

  24. 24

    如何在Linux中使用管道指定命令行参数?

  25. 25

    如何在自定义bash脚本中使用来自不同命令的管道输出?

  26. 26

    如何在管道分隔文件中使用 awk 命令仅从文件中获取奇数条目?

  27. 27

    如何在管道中使用状态?

  28. 28

    如何在Delphi中使用管道模式

  29. 29

    如何在ggplot管道中使用子集?

热门标签

归档