如何对 bash 中的字符串进行子字符串化?

How to Substring a string in bash?

我想剪切以下字符串

abcd|xyz

管道“|”前后的字符数符号可能会有所不同。

我知道 cut 命令,但它需要特定的数字 'from' 和 'to',我认为在这里行不通。

有人可以帮忙吗?

命令cut有以下参数:

-d, --delimiter=DELIM   use DELIM instead of TAB for field delimiter
-f, --fields=LIST       select only these fields;  also print any line
                            that contains no delimiter character, unless
                            the -s option is specified

在此基础上,以下命令应该可以满足您的要求:

echo 'abcd|xyz' | cut -d'|' -f1   # Prints abcd
echo 'abcd|xyz' | cut -d'|' -f2   # Prints xyz