Unix & Linux

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


3
用变量名定义变量
这个脚本怎么了?我正在尝试定义A1 = 1,B1 = 1,C1 = 1 LIST="A B C" for x in $LIST do "$x"1=1 done 结果是: ./x.: line 7: A1=1: command not found ./x.: line 7: B1=1: command not found ./x.: line 7: C1=1: command not found

3
定义别名并立即使用
在zsh这个工作正常: alias foo=ls foo 但这不是: alias foo=ls; foo 交互式运行时,按Enter可以节省额外的时间。但是当运行ssh它时突然变成一个问题: % ssh zsh@server 'alias foo=ls; foo' zsh:1: command not found: foo 即使使用换行符也不起作用: % ssh zsh@server 'alias foo=ls; foo' zsh:2: command not found: foo 奇怪的是zsh知道它是别名: % ssh zsh@server 'alias foo=ls; alias' foo=ls run-help=man which-command=whence 如何分辨zsh别名应处于活动状态?
11 zsh  alias 


6
从文件中删除行,具体取决于在另一个文件中找到的行
文件file1.txt包含以下行: /api/purchase/<hash>/index.html 例如: /api/purchase/12ab09f46/index.html 文件file2.csv包含以下行: <hash>,timestamp,ip_address 例如: 12ab09f46,20150812235200,22.231.113.64 a77b3ff22,20150812235959,194.66.82.11 我想过滤file2.csv,以删除在file1.txt中也存在哈希值的所有行。就是说: cat file1.txt | extract <hash> | sed '/<hash>/d' file2.csv 或类似的东西。 它应该很简单,但是我似乎无法使其工作。 任何人都可以为该任务提供有效的管道吗?

4
从文本文件中拆分字符串的快速方法?
我有两个文本文件:string.txt和lengths.txt String.txt: abcdefghijklmnopqrstuvwxyz lengths.txt 5 4 10 7 我想获取文件 >Entry_1 abcde >Entry_2 fghi >Entry_3 jklmnopqrs >Entry_4 tuvwxyz 我正在处理大约28,000个条目,它们在200至56,000个字符之间变化。 目前,我正在使用: start=1 end=0 i=0 while read read_l do let i=i+1 let end=end+read_l echo -e ">Entry_$i" >>outfile.txt echo "$(cut -c$start-$end String.txt)" >>outfile.txt let start=start+read_l echo $i done <lengths.txt 但这效率很低。还有更好的主意吗?

4
以固定宽度打印手册页
使用示例命令 man apropos > outputfile 将生成一个文本文件,其中包含的格式化man页面apropos(与man apropos直接打印在屏幕上的字体有一些细微差别,例如粗体字符)。 但是我想手动设置生成的输出文件的最大行宽,以便所有段落都可以证明为该宽度。 man页面是通过创建的groff:例如,我试图将.ll 50原始.gz man源文本文件的段落放在前面,但是如果我需要在多个man页面上工作,这是微不足道的。此外,并非所有字符都可以识别: apropos.1:45: warning: can't find character with input code 195 apropos.1:45: warning: can't find character with input code 168 apropos.1:47: warning: can't find character with input code 178 apropos.1:131: warning: can't find character with input code 169 因此,我想知道是否存在更直接的方法。在创建过程中如何修改最大线宽outputfile?有一些特定的命令吗? 编辑: (以下所有注意事项均与Ubuntu …

1
在rhel / centos-6初始化脚本中启动守护程序的规范方法是什么?
我为ubuntu的start-stop-daemon找到了很多很好的文档,并且有一个二进制文件的手册页daemon。 但是,从我可以说出的在rhel / centos脚本中启动守护程序的规范方法来看,就是先获取源代码,/etc/init.d/functions然后使用该daemon()函数。但是我找不到任何好的例子或文档。 在rhel / centos-6初始化脚本中启动守护程序的规范方法是什么? 我的第一次尝试是: #!/bin/bash source /etc/init.d/functions daemon --user USER nohup /path/to/your/binary arg1 arg2 >/dev/null 2>&1 &


3
在Bash中从字符串转到“单词”数组
我需要从字符串转到数组,其中每个条目都是该字符串上的每个单词。例如,从以下开始: VotePedro="Vote for Pedro" 我需要数组: Vote For Pedro 然后,我应该可以将其迭代为: for i in "${votePedroArray[@]}" do ## Do something done

1
updateb如何比查找速度快得多?
怎么updatedb这么远远快find? 这是updatedb和find执行看似相似任务的命令之间的定时比较。 比较 #!/usr/bin/env bash cmd="sudo updatedb" echo $cmd time eval $cmd cmd="sudo find / \ -fstype ext4 \ -not \( \ -path '/afs/*' -o \ -path '/net/*' -o \ -path '/sfs/*' -o \ -path '/tmp/*' -o \ -path '/udev/*' -o \ -path '/var/cache/*' -o \ -path '/var/lib/pacman/local/*' -o \ …
11 find  locate  updatedb 

2
sed从行中删除所有开始的模式匹配
我有以下几行: abababtestab 我正在尝试找出一个sed表达式,以ab从该行的开头删除所有出现的内容,因此转换后的行应为: testab 我觉得这应该很简单,但是我真的一无所知sed。 到目前为止,我有: sed 's/^ab//' 但这仅会删除ab的首次出现。
11 sed 

2
在armv7上运行X86二进制文件
我正在尝试在Raspberry Pi2上运行SNBC USB打印机。 为此,我需要将SNBC USB打印机的过滤器二进制文件复制到/usr/lib/cups/filter。但是过滤器二进制文件是使用x86处理器编译的(制造商对支持arm没有兴趣)在我使用的地方armv7。我知道这不会奏效,但出于好奇,我尝试过,杯子说/usr/lib/cups/filter/rasterorp3150 failed。 我在互联网上寻找解决方案,人们建议使用Qemu。但这是一个完整的x86武装平台。有没有一种方法可以轻松简便地将x86二进制文件转换为arm二进制文件? 顺便说一句,使用hexedit工具将x86二进制文件转换为等效armv7二进制文件是个好主意吗?(opcode转换) 如果是这样,任何人都可以提出一些想法吗?
11 arm  qemu  x86 

1
Centos 7 / Gnome应用程序菜单项无响应
我已经安装了带有gnome的CentOS 7。正常运行后,“应用程序”菜单下的所有项目均无响应。*我可以打开菜单和子菜单,并使用鼠标指针悬停在项目上方。它们将正确突出显示,但不响应单击。 这些项目也无法响应键盘导航,在这里我仍然可以使用箭头键在菜单中移动并突出显示项目,但是单击enter等不会启动突出显示的应用程序/工具。 重新启动计算机会有所帮助,但这似乎是解决该问题的绝妙方法。 *“活动概述”项目除外
11 centos  gnome  menu 

3
是否应该在Shell脚本中的路径变量末尾使用斜杠?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 今天写我的shell脚本时。 我突然想到一个问题。 由于cd /target_dir和cd /target_dir/都有效。 我是否应该在Shell脚本的路径变量末尾添加斜杠? 如LOG_PATH=/data/nginx/logs对LOG_PATH=/data/nginx/logs/。 我在Google上进行了总体搜索,但没有找到关于此的讨论,也许这太基础了? 目前,我真的很难决定选择哪种风格。 但我更喜欢LOG_PATH=/target_dir/样式。 因为当我使用bash进行自动补全时,它会以斜杠弹出结果。 您对此有何看法?

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.