我做了一个~/.bashrc函数来将一些 Web 目录保存到我的本地磁盘中。除了网站中不存在的一些不需要的索引文件外,它运行良好。我用它喜欢
crwl http://ioccc.org/2013/cable3/
Run Code Online (Sandbox Code Playgroud)
但它也会检索一些文件,例如 index.html?C=D;O=A index.html?C=D;O=D index.html?C=M;O=A index.html?C=M;O=D index.html?C=N;O=A index.html?C=N;O=D index.html?C=S;O=A index.html?C=S;O=D
完整文件清单:
kenn@kenn:~/experiment/crwl/ioccc.org/2013/cable3$ ls
bios index.html?C=D;O=A index.html?C=S;O=A screenshot_flightsim4.png
cable3.c index.html?C=D;O=D index.html?C=S;O=D screenshot_lotus123.png
fd.img index.html?C=M;O=A Makefile screenshot_qbasic.png
hint.html index.html?C=M;O=D runme screenshot_simcity.png
hint.text index.html?C=N;O=A sc-ioccc.terminal screenshot_win3_on_macosx.png
index.html index.html?C=N;O=D screenshot_autocad.png
Run Code Online (Sandbox Code Playgroud)
我想在克隆该目录时排除这些文件wget
是否有任何wget开关或技巧可以按原样克隆 Web 目录?
我的脚本功能.bashrc:
crwl() {
wget --tries=inf --timestamping --recursive --level=inf --convert-links --page-requisites --no-parent "$@"
}
Run Code Online (Sandbox Code Playgroud)
编辑:我发现了两种可能的解决方法
1) 添加-R index.html?*标志
2)添加-R =A,=D拒绝index.html?C=D;O=A文件的标志, 除了index.html
我不知道哪个是合适的,但它们似乎都不安全。
这是该问题的彻底更新版本。我必须更新这个,因为这个问题被标记为这个问题的重复,而这不再有有效的答案。
我是脚本和 linux 的新手,我的 comp 有时会变得太热,我想制作一个脚本来检测 temp1,如果它超过 65 C,它必须让它进入睡眠状态。我在比较脚本中的值时有困难,我无法正确定义数字,有人能解决吗?到目前为止,这是我的尝试
#!/bin/bash
max=65
val=$ sensors | grep '^temp1:' | sed -e 's/.*: \+\([+-][0-9.]\+\)°C.*$/0\1/'
while true; do
if [[ "$val" > "$max" ]]; then
sudo /etc/acpi/sleep.sh force
sleep 1
else
sleep 10
fi
clear
sensors
done
Run Code Online (Sandbox Code Playgroud)
以上得到了一个脚本的答案,根据评论在某个时候更新为在 14.04 中工作:
#!/bin/bash
while true; do
val=$(sensors | awk '/temp1/ {print $2}')
max="+75.0"
if [[ "$val" > "$max" ]]; then
dbus-send --system --print-reply …Run Code Online (Sandbox Code Playgroud) 我想从这里提取已删除包的名称“cat /var/log/dpkg.log | grep 'remove'”
2013-09-09 15:57:34 remove activity-log-manager:i386 0.9.4-0ubuntu6.2 <none>
2013-09-09 15:57:35 remove activity-log-manager-control-center:i386 0.9.4-0ubuntu6.2 <none>
2013-09-09 15:57:38 remove alacarte:all 3.6.1-0ubuntu3 <none>
2013-09-09 15:57:41 remove deepin-software-center:all 2.1.2.1~precise~NoobsLab.com <none>
Run Code Online (Sandbox Code Playgroud)
我只想在包名称之后获取 remove 和冒号之间的包名称。我不是正则表达式专家,我做了一个正则表达式似乎可以完成这项工作,但是当我想用 grep 应用它时,什么也没有发生。这是正则表达式评估器中的工作正则表达式模式
(?<=remove)(.*?)(?=:)
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
cat /var/log/dpkg.log | grep 'remove' | grep '(?<=remove)(.*?)(?=:)'
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
我有 Ubuntu 13.10 32 位操作系统。几天前,我添加了 gnome3 ppa 并升级到 gtk 3.10。我必须修复许多 gnome 错误。但我找不到解决这个问题的方法。
当我尝试打开显示时
LC_ALL=C gnome-control-center display
Run Code Online (Sandbox Code Playgroud)
我得到Could not get screen information错误。
我不知道它与它有关;我无法生成Xorg.conf
和
sudo Xorg :1 -configure
Run Code Online (Sandbox Code Playgroud)
我得到
sudo Xorg :1 -configure
X.Org X Server 1.14.5
Release Date: 2013-12-12
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-54-generic i686 Ubuntu
Current Operating System: Linux kenn 3.11.0-19-generic #33-Ubuntu SMP Tue Mar 11 18:48:32 UTC 2014 i686
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.11.0-19-generic root=UUID=c2d1b866-a0fd-4214-b79b-11b2af29da4d ro quiet splash vt.handoff=7
Build …Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu 20.04 mate 桌面。我正在定制配合面板。我想使用以下数字字体,并添加了以下样式~/.config/gtk-3.0/gtk.css
#clock-applet-button.flat.toggle > box.horizontal > label {
font-weight: normal;
color: white;
font-family: DS-Digital;
font-weight: bold;
font-size: 18px;
/*padding-right: 10px;
padding-left: 10px; */
/*letter-spacing: 3px;*/
/*margin: 8px;
margin-left: 14px;
margin-right: 14px;*/
padding: 0 15px 0 15px;
font-stretch: ultra-condensed;
outline-offset: 100px;
background-color: red;
/*border-left-width: 50px;
border-right-width: 50px;*/
/*outline-width: 20px;*/
}
Run Code Online (Sandbox Code Playgroud)
当数字压缩时它会摆动,例如当时钟数字从00到01
我尝试添加边距、填充,但它们不起作用。有没有技巧可以使用它来修复它gtk css?
我运行的是 Ubuntu 14.04.3,它是最新的。我不知道为什么,几天来我开始收到grep: write error: Broken pipe有关启动gnome-terminal 的消息。这似乎无害,但它让我烦恼。我该如何调试它?
编辑:我将别名和函数分别移动到单独的文件,例如.bash_aliases和.bash_functions并添加了一个命令来加载它们.bashrc
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
if [ -f ~/.bash_functions ]; then
. ~/.bash_functions
fi
Run Code Online (Sandbox Code Playgroud)
如果我不加载.bash_functions问题就会消失。
我试图通过一一禁用每个功能来找到有问题的功能。
这个给了我同样的错误,但是当我禁用它时,我不断收到相同的错误,所以我可能有更多错误的功能。
ls -lt $PWD| grep ^d | head -1 | cut -b 51-
grep: development
write error: Broken pipe
Run Code Online (Sandbox Code Playgroud)
我想知道为什么我开始犯这个错误。
编辑2:
我在这里发现了类似的问题管道损坏
问题的根源似乎也很相似。
我尝试了链接中给定的测试命令,但出现相同的错误:
bash -c '(while echo foo; do :; done); echo status=$? >&2' | head
foo
foo …Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu 16.04。我想取消装饰(删除边框和标题栏)窗口。我在网上发现一个旧的发布脚本声称可以工作,但现在不起作用。
取消装饰:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x0, 0x0, 0x0"
Run Code Online (Sandbox Code Playgroud)
重新装修:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x1, 0x0, 0x0"
Run Code Online (Sandbox Code Playgroud)
虽然这个python脚本有效
#! /usr/bin/python2
import gtk.gdk
w = gtk.gdk.window_foreign_new( gtk.gdk.get_default_root_window().property_get("_NET_ACTIVE_WINDOW")[2][0] )
w.set_decorations( (w.get_decorations()+1)%2 ) # toggle between 0 and 1
gtk.gdk.window_process_all_updates()
gtk.gdk.flush()
Run Code Online (Sandbox Code Playgroud)
如何在没有 python 的情况下从终端切换窗口装饰?
我有一个大约 6.6GB 的大文件夹,它包含大约 450000 个文件。我将它从一个分区复制到另一个分区。它写道,虽然现在已经运行了 3 个小时,但还剩 6 个小时。平均传输速度为 200kb/s。有没有更好的文件传输方式?
我有两个目录,它们包含公共文件。我想知道一个目录是否包含与另一个目录相同的文件。我在网上找到了一个脚本,但我想改进它以递归执行。
#!/bin/bash
# cmp_dir - program to compare two directories
# Check for required arguments
if [ $# -ne 2 ]; then
echo "usage: $0 directory_1 directory_2" 1>&2
exit 1
fi
# Make sure both arguments are directories
if [ ! -d $1 ]; then
echo "$1 is not a directory!" 1>&2
exit 1
fi
if [ ! -d $2 ]; then
echo "$2 is not a directory!" 1>&2
exit 1
fi
# Process each file in directory_1, comparing it …Run Code Online (Sandbox Code Playgroud) 我有 Ubuntu 14.04 32 位。我正在尝试从源代码编译应用程序。它使我在联系过程中的错误信息make,虽然过程./autogen.sh并./configure没有错误传递。我收到了这个错误,undefined reference to g_variant_parse_error_quark我读到该函数g_variant_parse_error_quark在 2.39 中添加到 glib2 中。我检查了已安装的软件包,发现系统中的 libglib 版本是 2.40.0。然而
pkg-config --modversion glib-2.0
Run Code Online (Sandbox Code Playgroud)
报告 2.38.2
看来我至少安装了两个不同的 glib2。我过去可能从源代码手动安装了 glib2。
如何解决该问题并让我的系统使用正确的最新库?