我有一个文本文件,第二列中有数字,数字有千位分隔符和十进制分隔符:
2014-01 2,277.40
2014-02 2,282.20
2014-03 3,047.90
2014-04 4,127.60
2014-05 5,117.60
Run Code Online (Sandbox Code Playgroud)
我需要对数字求和,但以下awk语法不起作用:
awk '{X=X+$2} END {print X}' file
Run Code Online (Sandbox Code Playgroud)
它返回16,这显然是错误的。我怎么能告诉awk读取数字作为2277.40而不是2,277.40?
当 USB 鼠标插入我的笔记本电脑时,dmesg 充斥着以下消息:
usb 3-1: USB disconnect, device number 28
usb 3-1: new low-speed USB device number 29 using xhci_hcd
usb 3-1: New USB device found, idVendor=045e, idProduct=00cb
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: Microsoft USB Optical Mouse
usb 3-1: Manufacturer: PixArt
usb 3-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
input: PixArt Microsoft USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/input/input39
hid-generic 0003:045E:00CB.001C: input: USB HID v1.11 Mouse [PixArt …Run Code Online (Sandbox Code Playgroud) 通常,当我使用username和登录网站时password,Firefox 会询问它是否应该记住登录详细信息。当我单击是时,下次访问该网站时,用户名和密码字段已预先填写,因此我只需单击“确定”
但是在某些网站上,我没有选择记住密码,并且username和password字段为空。或者,仅预先填写用户名字段,而密码字段为空。
有没有办法覆盖它,以便我始终可以选择保存密码?
最好,我想在不必安装另一个插件的情况下实现这一点。我不明白网站如何告诉浏览器不要记住密码,但无论它是什么,它都应该是可配置的。也许通过userContent.css和userChrome.css?
我有一个键绑定ToggleShowDesktop。当我按下 时Menu,所有窗口都会最小化,我会看到我的桌面壁纸(如预期的那样):
<keybind key="Menu">
<action name="ToggleShowDesktop"/>
</keybind>
Run Code Online (Sandbox Code Playgroud)
现在的问题是,我不想看到我的壁纸。我terminator用作我的墙纸,即当我开始时terminator,它被放置在下面的图层上:
<application name="terminator">
<focus>yes</focus>
<layer>below</layer>
<desktop>1</desktop>
<position>
<y>0</y>
<x>0</x>
</position>
<skip_taskbar>yes</skip_taskbar>
<maximized>true</maximized>
</application>
Run Code Online (Sandbox Code Playgroud)
是否可以进行配置ToggleShowDesktop以使其“下”层不受影响?即我只想最小化普通窗口,而不是terminator. 换句话说,我希望终结者表现得像普通壁纸一样 - 不受ToggleShowDesktop.
我使用Debian Wheezy带LXDE。
我在最初的问题中遗漏了一些细节,现在这些细节毕竟似乎是相关的:
我的设置有 2 个显示器和 4 个虚拟桌面。所以我有“8 张壁纸”来填充terminator. 根据我之前阅读的内容,我认为这 8 个窗口必须是可区分的,因此我创建了 8 个符号到terminator, .ie:
/usr/bin/terminator-wallpaper-1a -> terminator
/usr/bin/terminator-wallpaper-1b -> terminator
/usr/bin/terminator-wallpaper-2a -> terminator
...
Run Code Online (Sandbox Code Playgroud)
实际上创建了 8 个不同的应用程序(具有不同的名称)。
同样,在.config/openbox/lxde-rc.xml我没有 1,而是 …
在 my 中/etc/rsyslog.conf,我有以下行可以将auth设施登录到/var/log/auth.log:
auth,authpriv.* /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)
但是该文件充斥着 cron 日志,例如:
CRON[18620]: pam_unix(cron:session): session opened for user root by (uid=0)
CRON[18620]: pam_unix(cron:session): session closed for user root
Run Code Online (Sandbox Code Playgroud)
我想摆脱 cron 日志,并且只有真正的“身份验证”事件被记录到该文件中。我的意思是,我想查看哪些用户已登录系统,或创建了su -.
我怎样才能做到这一点?
当我notify-send用来发送一条简单的消息到notification-daemon:
notify-send "hello"
Run Code Online (Sandbox Code Playgroud)
它不仅会显示消息,还会创建一个系统托盘图标,如下面的屏幕截图所示:

此图标将保留在系统托盘中,直到我单击它并选择“清除所有通知”。这个图标完全违背了notify-send作为不显眼的通知的目的。我notify-send几年前使用过,我确信它没有任何托盘图标。不用说,这绝对令人讨厌。
我发现我可以使用transient选项
notify-send --hint=int:transient:1 hello
Run Code Online (Sandbox Code Playgroud)
这使得图标在一段时间后消失。这更好,但仍然不能接受。
有没有办法完全摆脱托盘图标?
我在 Debian Wheezy 上使用 LXDE
一些答案表明,这是由我的桌面环境 (LXDE) 引起的。
我觉得很难相信。我仍然怀疑这是由通知守护程序引起的。我已经下载了notification-daemon包的源代码CHANGELOG,其中包括:
- 添加了对将上下文通知附加到系统托盘上的图标的更好支持,即使它移动时也是如此。科林沃尔特斯的补丁。
这似乎是我抱怨的“功能”。
有人可以建议如何禁用系统托盘通知notification-daemon吗?当我 greptray或的来源时systray,我什么也没找到。我不知道从哪里开始。
我无法写入或读取 /dev/ttyS0
# cat /dev/ttyS0
cat: /dev/ttyS0: Input/output error
Run Code Online (Sandbox Code Playgroud)
设备存在,root 有权限。
# ls -lAhF /dev/ttyS0
crw------- 1 root root 4, 64 Nov 18 12:09 /dev/ttyS0
# setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
# dmesg | egrep -i 'serial|ttys'
[ 1.243271] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 2703.151301] ttyS0: LSR safety check engaged!
# cat /proc/devices | grep tty
4 tty
4 ttyS
5 /dev/tty
Run Code Online (Sandbox Code Playgroud)
我在内核中启用了串行:
# grep SERIAL config
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_CORE=y …Run Code Online (Sandbox Code Playgroud) 服务器有多个 NIC,其中只有一个插入了电缆。
如何测试给定端口是否ethX已插入?
我发现很多类似的问题,但既不ethtool也不cat /sys/class/net/eth1/carrier为我工作。
就我而言,电缆实际上已连接到eth2,但ethtool仍显示Link detected: no
Settings for eth2:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: No
Advertised link modes: 10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: No
Speed: Unknown!
Duplex: Unknown! (255)
Port: Direct Attach Copper
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe …Run Code Online (Sandbox Code Playgroud) 我有一个脚本myscript,它需要两个参数:
我如何编写自己的 zsh 完成,以便每当我这样做
mysript <TAB>
Run Code Online (Sandbox Code Playgroud)
它从我的主机列表中完成(即与sshdo相同)以及何时完成
mysript host1 <TAB>
Run Code Online (Sandbox Code Playgroud)
它从目录中完成/home/martin/test/?
我想用它git来跟踪crontab.
我已经初始化了一个新的 git 存储库 /var/spool/cron/crontabs/
现在的问题是,在保存 crontab 时,标题的第二行会发生变化,因为它包含时间戳。
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug 1 06:29:24 2019)
Run Code Online (Sandbox Code Playgroud)
忽略这些无关更改的最简单方法是什么?
在可能重复的问题并没有解决我的问题的重点:如何忽略来自crontab中第2行无关。相反,它解决了一些我没有问过的其他问题,例如一些钩子。