我试图做这样的事情:
wget -O - http://example.com/myfolder/myfile | ssh mypc 'cat > /tmp/myfile'
请注意' myfile'是wget和cat命令中使用的名称。所以,我的问题是,我是否可以将正则表达式应用于http://example.com/myfolder/myfile,以便将其传递给cat命令,除了文件名(在本例中为m文件)之外删除所有内容。长话短说,我想有一个输入来为这两个命令提供第二个正则表达式的帮助,如:
wget -O - http://example.com/myfolder/myfile | ssh mypc 'cat > /tmp/regex(http://example.com/myfolder/myfile, last_occurrence_of(/))'
感谢您的帮助
答案 0 :(得分:2)
您可以使用basename
命令:
url=http://example.com/myfolder/myfile; wget -O - $url | ssh mypc "cat > /tmp/$(basename $url)"
您还可以使用bash运算符##
:
url=http://example.com/myfolder/myfile; wget -O - $url | ssh mypc "cat > /tmp/${url##*/}"
在这种情况下,正则表达式为*/
。