bash有一个很好的功能,关于本地化(语言翻译):
TEXTDOMAIN=coreutils
LANG=fr_CH.utf8
echo $"system boot"
démarrage système
Run Code Online (Sandbox Code Playgroud)
(注意:对于这项工作,fr_CH.utf8已经在您的系统上生成了......否则您可以尝试使用自己的语言环境...或者安装locales并生成一个.)
问题:
但是如果这对于简单的字符串工作正常,那么当字符串包含一个\n(或者最坏的:一个反引号时,`事情会更复杂:
echo $"Written by %s, %s, %s,\nand %s.\n"
Written by %s, %s, %s,\nand %s.\n
Run Code Online (Sandbox Code Playgroud)
这不是参加的答案.
(Nota2:对于这项工作,必须在消息文件中准备确切的消息.mo,在此示例/测试中,我使用的是existant coreutils.mo文件,可以使用该命令取消格式化msgunfmt.)
总之,我发现进行翻译的唯一方法是:
eval echo \$\"$'Written by %s, %s, %s,\nand %s.\n'\"
Écrit par %s, %s, %s,
et %s.
Run Code Online (Sandbox Code Playgroud)
要么
msg=$'Written by %s, %s, %s,\nand %s.\n'
eval echo \$\""$msg"\"
Écrit par %s, %s, %s, …Run Code Online (Sandbox Code Playgroud) 试图找到一个简单的方法来观看最近的事件(从不到10分钟),我试过这个:
awk "/^$(date --date="-10 min" "+%b %_d %H:%M")/{p++} p" /root/test.txt
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作......
日志文件格式如下:
Dec 18 09:48:54 Blah
Dec 18 09:54:47 blah bla
Dec 18 09:55:33 sds
Dec 18 09:55:38 sds
Dec 18 09:57:58 sa
Dec 18 09:58:10 And so on...
Run Code Online (Sandbox Code Playgroud) 这项工作的目标是理解和发挥我听过的一些对象概念的含义.
有很多不同的方法/方法来做到这一点.
我的尝试并不是很干净:为了添加第二个时钟和另一个时区,我必须编辑3个不同的地方.这不太好(见答案的底部).
我怎么能做更有用的事情?
编辑后:最初的问题是关于在jquery和mootools之间进行选择,现在已经选择了; 我们的目标是通过使用mootools来改善这一点.
我用javascript和svg写了一个小样本/ demo:
var cx =128;
var cy =128;
var slen=120;
var mlen=116;
var hlen= 80;
var selem;
var melem;
var helem;
function setvars() {
selem=document.getElementById("seconds");
melem=document.getElementById("minutes");
helem=document.getElementById("hours");
drawtime();
};
function drawtime() {
var now=new Date();
var nows=now.getTime()%60000;
var nowm=now.getMinutes()*1.0+1.0*nows/60000;
var nowh=now.getHours()*1.0+1.0*nowm/60;
var sposx=cx + slen * Math.sin( nows / 30000 * Math.PI );
var sposy=cy - slen * Math.cos( nows / 30000 * …Run Code Online (Sandbox Code Playgroud)为了获得任何可执行文件的执行时间,比方说a.out,我可以简单地写一下time ./a.out.这将输出实时,用户时间和系统时间.
是否有可能编写一个运行程序多次的bash脚本并计算并输出平均实际执行时间?
我有 2 个包含 ffmpeg 命令的 shell 脚本(command1.sh 和 command2.sh)。command2.sh 有大约 500 个 ffmpeg 命令,这些命令通过“;”依次触发,而 command1.sh 处理音频 ffmpeg 命令。
主要问题:杀死整个脚本需要太多时间,并且它会占用我执行另一个脚本所需的 1-2 分钟的 CPU 功率,所以我白白失去了 CPU 功率,因为我无法立即杀死它。
代码: 我有init.sh其中包含:
trap 'print TERM received;exit' 15
chmod +x command1.sh;
chmod +x command2.sh;
./command1.sh & ./command2.sh
Run Code Online (Sandbox Code Playgroud)
所以它会在后台触发。
然后我执行pkill init.sh并捕获 shell陷阱并退出shell 脚本,但我得到 exitCode: 1, failed: true ,并且后台的命令仍执行 1 分钟,直到它们被另一个kill ${pid 杀死我在 pkill 之后执行。
我可以使用这个特殊的转义序列在 bash 中打印超链接:
echo -e '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'
Run Code Online (Sandbox Code Playgroud)
结果(我可以点击链接):
This is a link
Run Code Online (Sandbox Code Playgroud)
现在我想在 Python 3.10 中生成这个:
print('\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n')
\e]8;;http://example.com\e\This is a link\e]8;;\e\
print(r'\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n')
\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,shell 不解释转义序列。其他转义序列(例如粗体文本的转义序列)也可以:
print('\033[1mYOUR_STRING\033[0m')
YOUR_STRING # <- is actually bold
Run Code Online (Sandbox Code Playgroud)
如何让 python 正确格式化 URL?
我在一个目录中有一个文件列表,例如..
LDI_P1800-id1.0200.bin
LDI_P1800-id2.0200.bin
...
LDI_P1800-id17.0200.bin
LDI_P1800-id18.0200.bin
...
...
LDI_P1800-id165.0200.bin
LDI_P1800-id166.0200.bin
...
Run Code Online (Sandbox Code Playgroud)
我想将它们中的每一个移动到目录中
LDI_P1800-id165.0200.bin to ../id165/.
LDI_P1800-id166.0200.bin to ../id166/.
LDI_P1800-id167.0200.bin to ../id167/.
...
Run Code Online (Sandbox Code Playgroud)
等等.
我的猜测是我必须使用正则表达式从字符串中提取id
for file in *.0200.bin ; do
"extracting id from each file"
mv $file ../id$id/.
done
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我吗?谢谢!!
当尝试连接到本地主机(使用终端)时,我得到了以下答案:
HTTP / 1.1 426需要升级
服务器:WebSocket ++ / 0.3.0-alpha4
我该如何回应升级?
我需要通过 SSH 会话在服务器上运行命令并关闭会话而不终止服务器上的进程。如何才能正确实施这一点。
服务器和客户端都是linux系统。
请注意,我无法在服务器上安装其他软件。
我是shell脚本的新手,我想弄清楚以下内容.
如何在文件中搜索包含特定字符串的行,如果该行存在,则将该行复制到新文件中?