我正处于玩最终幻想7的中间,我正处于你在Shinra HQ图书馆的那一部分,你必须写下N字母 - 减去空格,Nth是书的标题前面的数字 - 对于每本似乎不属于当前房间的书,其中有4本。
我需要一个sed脚本或其他命令行来打印书名,并在其名称中输入Nth
个字母。
答案 0 :(得分:6)
您不需要sed
。您可以使用bash
字符串替换:
$ book="The Ancients in History"
$ book="${book// /}" # Do global substition to remove spaces
$ echo "${book:13:1}" # Start at position 13 indexed at 0 and print 1 character
H
答案 1 :(得分:1)
我想出了怎么做:
echo "The Ancients in History" | sed -r 's/\s//g ; s/^(.{13})(.).*$/\2/'
=> H
注意
Sed开始计数为0而不是1,所以如果你想要第14个字母,请询问第13个字母。
以下是shell脚本:
#!/bin/sh
if [[ -n "$1" ]]; then # string
if [[ -n "$2" ]]; then # Nth
echo "Getting character" $[$2 - 1]
export Nth=$[$2 - 1]
echo "$1" | sed -r "s/\s//g ; s/^(.{$Nth})(.).*$/\2/";
fi
fi