有一个 bash 脚本将对引用 sqlite 数据库的文件执行“一些魔法”\xe2\x84\xa2,并且在执行“一些魔法”\xe2\x84\xa2 后,应该更新数据库。这是简化的代码
\n\nsqlite3 database.db "select NUMBER from table WHERE STATUS = \'N\'" | while read line; do\n SELECTION=$(echo $line | awk -F\'|\' \'{ print $1 }\')\n [some magic]\xe2\x84\xa2\n sqlite3 database.db "update table SET STATUS=\'Y\' WHERE NUMBER=\'$SELECTION\'"\ndone\nRun Code Online (Sandbox Code Playgroud)\n\n一切正常,sqlite 数据库将被逐行读取,我可以对引用的文件执行“一些魔法”\xe2\x84\xa2,但我可以\xc2\xb4t 更新数据库中的行 - I\xc2\xb4ve出现错误:
\n\n\n\n\n错误:数据库已锁定
\n
有人知道我如何在读取数据库时更新数据库吗?或者还有其他解决方案可以让我做到这一点吗?
\n我有一个 Music 文件夹,内容如下:
音乐 -艺术家A -歌曲1.mp3 -专辑A -歌曲2.mp3 -歌曲2.m4a -专辑B -歌曲1.mp3 -歌曲2.mp3 -歌曲3.mp3 -专辑C -歌曲1.mp3 -歌曲1.jpg -SomeFolder1 -歌曲1.mp3 -艺术家B -歌曲1.mp3 -艺术家C -歌曲1.mp3 -歌曲2.mp3 -歌曲3.mp3 -SomeFolder2 -歌曲1.jpg -Song2.jpg -SomeFolder3
我正在寻找这样的输出:
艺术家A/歌曲1.mp3 艺术家A/AlbumA/Song2.mp3 艺术家A/专辑C/Song1.mp3 艺术家A/AlbumC/SomeFolder1/Song1.mp3 艺术家B/歌曲1.mp3
所以,我不想要只有一个文件的目录,我想要只有一个 mp3 的目录 - 无论子目录或其他文件如何。我也不想要空目录或包含多个 mp3 的目录。
我并不反对 Linux 上的 shell 脚本。但是,我不想在任何一个操作系统上编译程序。
我已经尝试过:
find . -type d -exec sh -c 'set -- "$0"/*.mp3; [ $# -le 1 ]' {} \; -print
但这给了我这个输出:
。 ./艺术家B ./艺术家A ./艺术家A/专辑A ./艺术家A/专辑C ./ArtistA/AlbumC/SomeFolder1 ./ArtistC/SomeFolder2 ./ArtistC/SomeFolder3
这很接近,但不完全是我想要的。有两个空文件夹,没有文件名。
我已经编写了一个 shell 脚本来上传从本地到主机的特定路径中具有不同名称的所有文件,但是我遇到了一些问题并且文件没有被上传
#!/bin/sh
for file in /main/folder1/path/*
do
curl -u Pass:"Uname" -T $file http://www.example.com/folder/$file
done
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题。
我收到如下错误
<html>
<head>
<title> 500 Internal Server Error </title>
</head>
<body>
<h1>
Internal Server Error
</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
目前我在里面有脚本/main/folder_2,如果我更改/main/folder_1/path/*为../folder_1/path/*,我会得到输出,文件会按预期移动。但我想使用指定的完整路径运行脚本。
我正在尝试检查并显示状态(已连接/未连接)和 OpenVPN 连接的服务器主机名/cn,该连接应该在每次启动时连接。
现在我发现在/var/log/syslog连接中已记录,我可以用它来确定是否Initialization Sequence Completed已记录并从[brimstone] Peer Connection Initiated with [AF_INET]1.2.3.4:1234.
获取此日志,我可能会检查Initialization Sequence Completed,这意味着我已连接和主机名,我只想要不同的脚本。
现在我的问题是我目前不知道连接是否仍然存在和/或我是否连接到另一台服务器。我可以定期检查日志的变化,但这对于一个相当基本的任务来说似乎有点极端。
我如何检查我的 OpenVPN 的连接状态,如果连接得到服务器主机名/cn?
我有一个脚本,每次从 FTP 服务器下载 17 个文件,但有时由于某些原因,某些文件的权重为“0”。
所以我正在寻找一个 bash 脚本来检查是否有大小为零的文件。
我怎么能这样做?
编辑:我想使用 if-else 语句:如果有任何 0 字节文件,我将不得不再次运行 bash 脚本。
我可以通过 cygwin 运行 Windows 命令,并将参数传递给它吗?
具体来说,我想要一个运行 Robocopy 的 bash 脚本,但问题很普遍。
Robocopy 比 rsync 更适合我的需求,但批处理脚本是反复无常的。PowerShell 看起来很有趣,但如果可能的话,我宁愿不学习一门新语言,而且 bash 非常方便。
我找不到任何关于它的提及。
谢谢
我有一个运行 CM13 的 HTC 10 我试图通过 ADB 和发送事件向它发送触摸事件,发送后:
adb shell
sendevent /dev/input/event6 3 57 0
sendevent /dev/input/event6 3 53 300
sendevent /dev/input/event6 3 54 400
sendevent /dev/input/event6 3 48 5
sendevent /dev/input/event6 3 58 50
sendevent /dev/input/event6 0 2 0
sendevent /dev/input/event6 0 0 0
Run Code Online (Sandbox Code Playgroud)
我在手机上点击一下,打开 showtouches,我可以看到触摸已经开始,但触摸仍然在手机上处于活动状态。
sendevent /dev/input/event6 3 57 -1
sendevent /dev/input/event6 0 2 0
sendevent /dev/input/event6 0 0 0
Run Code Online (Sandbox Code Playgroud)
或者甚至只是
sendevent /dev/input/event6 3 57 -1
sendevent /dev/input/event6 0 0 0
Run Code Online (Sandbox Code Playgroud)
然而,这些命令都不会导致触摸在手机上结束。
我尝试将所有这些放在手机本身的 …
首先,我只想确保用户 Erik Bitemo 获得了我在这里使用的原始代码的信任。输出是我正在寻找的一个例外:其中一个端口消失并且“System System5”出现在它的位置,我无法弄清楚为什么会发生这种情况。
目标:在同一行上显示所有 TCP(侦听)和 UDP 端口以及与每个端口关联的进程。
正在使用的一种衬垫:
$nets = netstat -bano|select-string 'LISTENING|UDP'; foreach ($n in $nets) { $p = $n -replace ' +',' '; $nar = $p.Split(' '); $pname = $(Get-Process -id $nar[-1]).ProcessName; $n -replace "$($nar[-1])","$($ppath) $($pname)"; }
Run Code Online (Sandbox Code Playgroud)
示例输出:
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0: System System5 0.0.0.0:0 LISTENING System
TCP 0.0.0.0:623 0.0.0.0:0 LISTENING LMS
它更改的端口是 445,但我不知道为什么当其余端口按预期工作时它只更改那个端口。为什么脚本将 445 更改为“System System5”?
不幸的是,无法使用其他工具,因此我只能使用内置的 Windows 工具。
我有%var1%和%var2%
var1="UserInput"
var2=file.log
Run Code Online (Sandbox Code Playgroud)
如果用户键入%var1%“file.txt”,我如何(如果可能)仅检查最后三个字符(或文件格式,如果可能)以查看它是否与%var2%的最后三个字符或文件格式匹配?
另一种做同样事情的方法也是受欢迎的(但用户输入变量必须在那里)
我得到了这个管道命令:
Get-Childitem -Path E:\Shares\ -Recurse -Filter *Synformulas* | Export-csv -Path E:\result.csv
Run Code Online (Sandbox Code Playgroud)
现在就是这样,我需要搜索多个搜索词。我不能简单地将它们附加到 -Filter 标志中。
谁能告诉我如何在文件夹中递归搜索具有多个搜索词的文件名?