小编F. *_*uri的帖子

bash本地化不适用于多行字符串(具有强语法或通过`eval`)

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)

bash localization

12
推荐指数
1
解决办法
675
查看次数

从logfile中提取最后10分钟

试图找到一个简单的方法来观看最近的事件(从不到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)

bash datetime date logfiles

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

如何实现*object*来改进我的时钟示例javascript程序

这项工作的目标是理解和发挥我听过的一些对象概念的含义.

关于赏金

有很多不同的方法/方法来做到这一点.

我的尝试并不是很干净:为了添加第二个时钟和另一个时区,我必须编辑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)

javascript object javascript-objects

7
推荐指数
1
解决办法
490
查看次数

使用Bash计算程序的平均执行时间

为了获得任何可执行文件的执行时间,比方说a.out,我可以简单地写一下time ./a.out.这将输出实时,用户时间和系统时间.

是否有可能编写一个运行程序多次的bash脚本并计算并输出平均实际执行时间?

bash time execution

5
推荐指数
1
解决办法
401
查看次数

使用后台进程捕获并退出大型 shell 脚本

我有 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 之后执行。

linux shell scripting

5
推荐指数
1
解决办法
1243
查看次数

Python 在 gnome 终端中打印超链接

我可以使用这个特殊的转义序列在 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?

python hyperlink gnome-terminal

5
推荐指数
1
解决办法
341
查看次数

Bash:提取文件名的数量,以移动到编号的正确目录

我在一个目录中有一个文件列表,例如..

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)

任何人都可以帮我吗?谢谢!!

regex string bash extract

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

需要HTTP / 1.1 426升级

当尝试连接到本地主机(使用终端)时,我得到了以下答案:

HTTP / 1.1 426需要升级
服务器:WebSocket ++ / 0.3.0-alpha4

我该如何回应升级?

terminal upgrade http websocket server

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

从 SSH 会话中分离命令

我需要通过 SSH 会话在服务器上运行命令并关闭会话而不终止服务器上的进程。如何才能正确实施这一点。

服务器和客户端都是linux系统。

请注意,我无法在服务器上安装其他软件。

ssh process sh remote-server

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

将包含字符串的行复制到shell脚本中的另一个文件

我是shell脚本的新手,我想弄清楚以下内容.

如何在文件中搜索包含特定字符串的行,如果该行存在,则将该行复制到新文件中?

string shell copy file

3
推荐指数
1
解决办法
4649
查看次数