[英]Change delimiter for foreach in csh
我有一个字符串如下:
set str = "HELLO SO COMMUNITY| CAN YOU HELP ME"
foreach word ($str)
echo $word
end
目前,这将打印HELLO,然后是SO,然后是COMMUNITY,依此类推。 我希望打印的分度为| 。 因此输出应为HELLO SO COMMUNITY,然后您可以帮助我。 有谁知道如何做到这一点。
set str = "HELLO SO COMMUNITY| CAN YOU HELP ME"
set delimiter = '|'
set special_char = '_' # A character you know doesn't appear in your strings
set words = `echo $str | sed "s/ /$special_char/g" | sed "s/$delimiter/ /g"`
# words now contains "HELLO_SO_COMMUNITY _CAN_YOU_HELP_ME"
foreach word ($words)
echo $word | sed "s/$special_char/ /g"
end
用您知道不会出现在字符串中的字符替换special_char
。 请注意任何特殊字符。 我会避免*
?
, $
, \\
和其他可能由cshell解释的标记。 cshell的规则#1是,它总是以错误的方式解释它们...:P
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.