给出一个文件test.txt
,内容为This is a test.
,我想使用以下命令提取其内容的子字符串,更确切地说是第二个和第三个字符(hi
)>
echo ${$(cat test.txt):1:2}
但是,这将输出第二个和第三个单词(is a
),而不是单个字符。
我能做
a=$(cat test.txt)
echo ${a:1:2}
它按预期工作。但是我想用一个命令来做。
有人可以解释这里发生的事情并提供解决方案吗?
编辑:
系统正在运行zsh。
答案 0 :(得分:0)
无法确切解释那里发生了什么,但是您可以使用sed
作为替代:
sed -E 's/.(..).*/\1/' test.txt
仅用第二个和第三个字符替换每一行。