Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

8
如何grep在特定列中具有特定值的行?
我有一个如下文件 200.000 1.353 0.086 200.250 1.417 0.000 200.500 1.359 0.091 200.750 1.423 0.000 201.000 1.365 0.093 201.250 1.427 0.000 201.500 1.373 0.093 201.750 1.432 0.000 202.000 1.383 0.091 202.250 1.435 0.000 202.500 1.392 0.087 202.750 1.436 0.000 203.000 1.402 0.081 203.250 1.437 0.001 203.500 1.412 0.073 204.000 1.423 0.065 204.500 …
9 awk  grep 

3
如何将find找到的文件作为参数传递?
首先要截断一些琐碎但不适用的答案:我既不能使用find+ xargs技巧,也不能使用其变体(如findwith -exec),因为每次调用我需要使用很少的此类表达式。最后,我会回到这一点。 现在来看一个更好的例子,让我们考虑: $ find -L some/dir -name \*.abc | sort some/dir/1.abc some/dir/2.abc some/dir/a space.abc 我如何将这些作为参数传递给program? 只是做不成功 $ ./program $(find -L some/dir -name \*.abc | sort) 失败,因为program获取以下参数: [0]: ./program [1]: some/dir/1.abc [2]: some/dir/2.abc [3]: some/dir/a [4]: space.abc 可以看出,带有空间的路径被分割,并program认为它是两个不同的参数。 报价直到生效 似乎像我这样的新手用户,遇到此类问题时,往往会随机添加引号,直到最终起作用为止-仅在这里似乎没有帮助… "$(…)" $ ./program "$(find -L some/dir -name \*.abc | …

3
如何根据您按住键的时间重新映射键盘键
我想重新映射数字键盘上的键,以便它们的行为取决于按下键的时间。这是一个例子: 如果我按住Numpad 9键的时间少于300ms,它将发送“ previous tab”键盘命令Ctrl+Tab 如果我按住Numpad 9键300-599ms,它将发送“新标签”键盘命令Ctrl+T 如果我按住Numpad 9键600-899毫秒,它将发送“关闭标签页/窗口”键盘命令Ctrl+W 如果按住Numpad 9键的时间超过899ms,万一我错过了想要的时间范围,它什么也不会做。 在Windows上,我可以使用AutoHotKey来执行此操作,而在OS XI上,可以通过ControllerMate来执行此操作,但是我在UNIX / Linux上找不到可以根据保持键的时间重新映射键的工具。 如果您知道可以解决我的问题的工具,请确保提供一个脚本或代码示例,以证明我上述的条件键保持持续时间行为。它不一定是完整的代码来解决我的示例,但是对于我来说,将其重新用作示例就足够了。

5
用于粘贴我的命令及其输出的命令
通常,我想将某些内容发布到github错误中,例如 $ ping google.com PING google.com (216.58.195.238): 56 data bytes Request timeout for icmp_seq 0 64 bytes from 216.58.195.238: icmp_seq=0 ttl=53 time=1064.747 ms 现在我运行命令,使用screen的C-a C-[突出显示的区域,enter将其复制到缓冲区,将其粘贴到vim,把它写入一个文件,然后cat到这一点pbcopy。一定有更好的方法。 有没有可以运行tee的命令,我键入的命令将以a为前缀,$并将所有输出输出到pbcopy?还是什么接近?我设想 $ demo ping google.com PING google.com (216.58.195.238): 56 data bytes Request timeout for icmp_seq 0 64 bytes from 216.58.195.238: icmp_seq=0 ttl=53 time=1064.747 ms ^C …

4
如何查找末尾没有空行的文件?
我在当前目录的子目录中有文件,文件末尾可能没有换行;如何找到结尾没有换行符的文件? 我已经试过了: find . -name '*.styl' | while read file; do awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file; done 但这不起作用。 awk 'END{print}' $file与一样在空的新行之前打印该行tail -n 1 $file。

1
mupdf连续滚动
我使用mupdf,我非常喜欢它,因为我是一个瘾君子。一件事困扰着我:没有连续滚动。当您到达页面的末尾并进一步滚动时,它将“跳转”到下一页。 有没有办法启用连续滚动? 我发现http://bugs.ghostscript.com/show_bug.cgi?id=693425,据记载,您可以使用SHIFT + C启用它。但这只会使显示变黄。 如果相关,我会在Windows 10上使用它,但是由于它主要是一个unix工具,请在此处提出问题。


3
SFTP不以哪种方式基于SSH?
我刚刚完成了18级的OverTheWire Bandit战争游戏。 那真是令人惊讶。这是此级别的说明。 下一级别的密码存储在主目录中的文件自述文件中。不幸的是,有人修改了.bashrc以使您在使用SSH登录时注销。 我在想让外壳跳过源代码的方法.bashrc。但是在找到解决方案之前,我很想简单地开始与服务器建立SFTP连接。我没想到它会起作用。但是确实如此。我想知道为什么。我以为SFTP通过SSH运行。 为了清楚起见,当我SSH进入服务器时,被踢出了预期的结果。
9 ssh  sftp 


1
如果反转补丁程序成功,这是否总是意味着补丁程序已完全应用?
这是在两个问题上触摸“ 检查文件或文件夹已被修补 ”和“ 制作patch返回跳过已经应用的补丁时0 ”既不但是有一个令人满意的答案。 我正在编写脚本,并想测试以下内容的补丁程序: 完全应用:继续 部分应用:退出 未应用:如果可以成功应用,请继续并继续,否则退出 问题在于处理部分应用的案例: mkdir test && cd test cat << EOF > foobar.patch --- /dev/null +++ foo @@ -0,0 +1 @@ +foo --- /dev/null +++ bar @@ -0,0 +1 @@ +bar EOF patch --forward -i foobar.patch rm foo 所以bar存在,但是foo不存在,因为在某些时候它已被删除。现在,如果我以空运行方式向前应用补丁,则退出代码为1,因为未成功应用。 $ patch --dry-run --forward …
9 patch 

4
关于awk的问题
好的,因为这是一个复杂的问题,所以我将对其进行清楚的解释。我得到的文件内容如下所示: $ Cat File1 ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {TBMKF} ABC Cool Lol POP {YUKER} ABC Cool Lol POP {EFEFVD} 我想要的输出 -Cool MNB + POP ; -Cool MNB + POP ; -Cool MNB + POP ; …

1
真假条件
我发现,如果使用awk 0 inputfile,它将不会打印任何内容,原因0是错误的条件。 如果使用awk 1 inputfile,它将1为awk解释的每一行打印所有内容,均表示为true。 如果使用awk any_string inputfile,它将不会打印任何内容,因为所有awk变量都初始化为零,因此为false。 但是,如果使用awk any_integer inputfile,它将变为true并打印文件的每一行,请问是什么原因? 我找不到GNU awk手册中已经解释过的内容。
9 awk  gawk 


1
airmon-ng:ls:无法访问“ / sys / class / ieee80211 /”:没有这样的文件或目录
背景: 我正在vmware工作站中运行最新版本的Kali Linux,并且具有Cisco AE2500 wifi usb,它在Windows 10中用作wifi适配器。不幸的是,当我运行airmon-ng命令时,我收到了 ls: cannot access '/sys/class/ieee80211/': No such file or directory。 我已经尝试了10多个论坛和其他Google搜索中的所有可能解决方案,以解决此问题。解决其他人问题的通用解决方案尚未成功。解决方案包括: 1) apt-get update && apt-get upgrade && apt-get dist-upgrade -y 2)下载backports驱动程序(4.4.2-1)并make defconfig-b43编译,安装,重新启动的论坛解决方案 3)下载突触然后手动升级bcm43xxx驱动程序的论坛解决方案 4)Airmon-ng论坛 5)Vmware工具更新 6) apt-get install kali-linux-wireless 7)为80211,broadcom,atheros和intel芯片安装所有wifi固件驱动程序。 和其他许多人 lsusb: root@sandbox:~# lsusb Bus 001 Device 003: ID 04e8:6863 Samsung Electronics Co., …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.