小编sup*_*rio的帖子

如何只同步新文件

我正在尝试通过将新生成的文件添加到远程服务器来设置 rsync 以将我的主 Web 服务器同步到远程服务器。

这是我使用的命令:

rsync -avh --update -e "ssh -i /path/to/thishost-rsync-key" remoteuser@remotehost:/foo/bar /foo/bar
Run Code Online (Sandbox Code Playgroud)

但似乎网络服务器实际上传输了所有文件,尽管有“--update”标志。我尝试了不同的标志组合(例如省略“-a”并使用“-uv”),但没有任何帮助。如何修改 rsync 命令以仅发送新添加的文件?

rsync

207
推荐指数
2
解决办法
33万
查看次数

如何在包含“”的字符串中插入变量?

我想通过插入变量来构造一个 xml 字符串:

str1="Hello"
str2="world"

xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>'

echo $xml
Run Code Online (Sandbox Code Playgroud)

结果应该是

<?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2>
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>
Run Code Online (Sandbox Code Playgroud)

我也试过

xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>"
Run Code Online (Sandbox Code Playgroud)

但这会删除内部双引号并给出:

<?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
Run Code Online (Sandbox Code Playgroud)

shell bash xml variable

38
推荐指数
2
解决办法
12万
查看次数

如何将未知 8 位文件转换为 utf8

我有一个 .srt 文件,当我在 ubuntu 的 gEdit 中打开它时显示为乱码。所以我想将它转换为utf8以便能够阅读它。

当我试图弄清楚它给出的编码时:

file -i x.srt 
x.srt: text/plain; charset=unknown-8bit
Run Code Online (Sandbox Code Playgroud)

在另一次尝试中,我发现:

find .  -type f -print | xargs file
./x.srt:   Non-ISO extended-ASCII text, with CRLF line terminators
Run Code Online (Sandbox Code Playgroud)

我也试过 enca:

enca x.srt 
enca: Cannot determine (or understand) your language preferences.
Please use `-L language', or `-L none' if your language is not supported
(only a few multibyte encodings can be recognized then).
Run `enca --list languages' to get a list of supported languages.
Run Code Online (Sandbox Code Playgroud)

enca -L Persian …
Run Code Online (Sandbox Code Playgroud)

character-encoding unicode

10
推荐指数
2
解决办法
3万
查看次数

如何删除包含IP地址的行?

我有一个文件,如:

http://example.mx
https://test.com
http://4.3.4.4
http://dev.somedomain.com
http://1.3.4.2
Run Code Online (Sandbox Code Playgroud)

我想摆脱那些有 IP 的人,这样结果应该是:

http://example.mx
https://test.com
http://dev.somedomain.com
Run Code Online (Sandbox Code Playgroud)

我所做的是:

cat  in.log |  sed  '/^http:\/\/[0-9]/d'  > out.log
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

sed text-processing ip-address

4
推荐指数
1
解决办法
4110
查看次数