执行public static void saveToDatabase(Boolean fb, Boolean tw, Boolean pin, String shareUrl, String shareType) {
setShareImageFirebaseReference();
String nodeID = dateTimeStampMilliSeconds();
myRef.child(nodeID).child(shareType).setValue(shareUrl);
myRef.child(nodeID).child(FACEBOOK).setValue(fb);
myRef.child(nodeID).child(TWITTER).setValue(tw);
myRef.child(nodeID).child(PINTEREST).setValue(pin);
myRef.child(nodeID).child(MY_PHOTO).setValue(thisAppUser.getPhotoUrl());
}
后,我得到输出为
| xxd -bi
现在我正在尝试删除初始0000000,我使用sed做了,我试图删除使用sed存储在00000000: 01101000 01100101 01101100 01101100 01101111 00001010 hello.
中的“hello”(变量文本),但我无法实现,请在下面的示例中显示更改。
我尝试过使用cut,但不能改变0000000和最后一个变量字。
$covertthis
答案 0 :(得分:3)
您只需要一个sed
。使用;
# read convert_this
echo "00000000: 01101000 01100101 01101100 01101100 01101111 00001010 hello." |
sed -E "s/^[^[:blank:]]*[[:blank:]]+//;s/[[:blank:]]+$convert_this\.$//"
应该这样做。
<强>输出强>
01101000 01100101 01101100 01101100 01101111 00001010
<强>解释强>
-E
的{{1}}选项可以使用扩展正则表达式。sed
开头的s/^[^[:blank:]]*[[:blank:]]+//;
会查找该行的开头。 ^
中的[]
适用于范围。如果范围以sed
开头,则表示您正在否定范围。 ^
外观适用于零或更多,*
适用于一个或多个。 +
是一个匹配任何空白字符的字符类,如空白标签等。简而言之,我们在开头寻找任何非空白字符,后跟一个或多个空格。然后我们替换它没有任何有效删除它。[:blank:]
中存储的字符串以及后面没有任何内容的任何句号。所有好: - )
旁注:您需要使用双引号来包装sed命令,以便扩展bash变量。功能
答案 1 :(得分:2)
关注awk
也可以帮助您。
awk -v val="hello." '{sub(/^0+: +/,"");sub(val,"")} 1' Input_file
或者,如果您有一个我们希望传递给awk
命令的shell变量,那么以下内容也可以帮助您:
convertthis="hello."
awk -v val="$convertthis" '{sub(/^0+: +/,"");sub(val,"")} 1' Input_file
输出如下。
01101000 01100101 01101100 01101100 01101111 00001010
答案 2 :(得分:1)
使用
sed -i -e "s/$convertthis.$//" bin-store
而不是
$(sed -i -e 's/($convertthis).//g' bin-store)
使用convertthis
变量的内容而不是其文字名称
答案 3 :(得分:0)
尝试此命令:
sed "s/\(^[0-9a-z]\{8\}:[[:space:]]\)\([^a-z]*\)\([a-z]*\)/\2/"
正则表达式将输入分为三组匹配;使用转义括号\(\)描述组。小组如下:
第一组是字母数字和8个字符,前面是冒号和空格。我们有^匹配开头然后和8个字母数字字符匹配[0-9a-z] \ {8 \}:在这个表达式中,方括号括起一个字符类(字母数字)。空间可以通过[[:space:]]匹配。
第二组不包含我们匹配的字母字符[^ a-z] *,其中^以方括号反转匹配。
第三组匹配最后的字母字符。
然后我们可以用三个组中的任何一个替换字符串:group 2(\ 2)就是我们想要的那个。
这对于多行输入也同样有效,因为sed逐行匹配。
附注:对于匹配空格的POSIX,[[:space:]]应该使用 not \ s(参见this question)。