Unix & Linux

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

3
替换文件中的多行字符串
我有许多文件想要通过用另一个多行字符串替换一个多行字符串来更新。类似于以下内容: * Some text, * something else * another thing 我想替换为: * This is completely * different text 结果将是,替换后包含第一个文本块的文件现在将包含第二个字符串(文件的其余部分保持不变)。 问题的一部分是,我必须在文件系统中找到要更新的文件列表。我想我可以为此使用grep(尽管再次使用多行字符串不是那么容易),然后将其通过sed传送吗? 是否有捷径可寻?sed是一个选项,但是很尴尬,因为我必须添加\ n等。是否有办法说“从此文件中获取输入,在这些文件中进行匹配,然后用另一个文件的内容替换”?我可以在需要时使用python,但是我想要快速简单的方法,因此,如果有可用的实用程序,我宁愿使用它而不是编写自己的脚本(我知道该怎么做)。


4
两者完成后如何运行并行进程并合并输出
我有一个bash shell脚本,其中通过大约5或6个不同的程序将一些数据通过管道传输,然后将最终结果传输到制表符分隔的文件中。 然后,我对一个单独的相似数据集再次执行相同操作,然后输出到第二个文件。 然后将两个文件输入另一个程序进行比较分析。例如简化 Data1 | this | that |theother | grep |sed | awk |whatever > Data1Res.csv Data2 | this | that |theother | grep |sed | awk |whatever > Data2Res.csv AnalysisProg -i Data1res.csv Data2res.csv 我的问题是:如何使step1和step2同时运行(例如,使用&),但在两者均完成时仅启动step3(AnalysisProg)? 谢谢 ps AnalysisProg在流或FIFO上不起作用。



1
/ usr / lib64去哪里了,什么是/ usr / lib / x86_64-linux-gnu?
我有两个Ubuntu-x86_64系统。一个是版本10.04,另一个是版本12.04,并且lib目录的结构有所不同。这并不令我感到惊讶,但我很好奇是否有人知道原因。有一个很好的理由吗? 10.04 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux /usr/lib /usr/lib32 /usr/lib64 12.04 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 GNU/Linux /usr/lib /usr/lib/x86_64-linux-gnu

2
使用echo和cat测试串行环回的意外结果
因此,我有一个标准的RS232串行端口,只需通过一条从Tx到Rx的导线即可将其环回。我通过运行测试环路echo和cat在两个独立的终端: cat /dev/ttyS1 echo "hi" > /dev/ttyS1 我的问题是输出。我希望看到一个“ hi”回到运行猫的终端,但是我得到了: hi [2 newlines] hi [4 newlines] hi [8 newlines] hi [16 newlines] hi [32 newlines] hi ...依次类推,直到I ctrl+ 为止c cat。 中断cat之后,如果我再次运行它,直到我第二次运行echo时,它才会输出“ hi”。 这正常吗?知道为什么我会看到这种行为吗? 编辑:换行符,我的意思是ASCII 0x0A。此输出中没有回车符。
17 cat  serial-port  echo 

2
用mutt打开.eml文件
如何在Linux中打开一个.eml文件?我不确定是否mutt可以处理? 更新 我通过创建一个新邮箱来部分解决了问题: mkdir -p a/{cur,tmp,new} 并将eml文件放在a / cur中,我可以用以下命令读取它: mutt -f 但这还不是我想要的
17 mutt  email 

3
计算文件中字段的不同值
我的文件包含大约一百万行。在各行中,我有一个名为的字段transactionid,该字段具有重复值。我需要做的是分别计算它们。 无论一个值重复多少次,都应该只计数一次。

2
了解“ serial8250:irq4的工作量过多”内核消息
dmesg 显示来自serial8250的许多消息: $ dmesg | grep -i serial [ 0.884481] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled [ 6.584431] systemd[1]: Created slice system-serial\x2dgetty.slice. [633232.317222] serial8250: too much work for irq4 [633232.453355] serial8250: too much work for irq4 [633248.378343] serial8250: too much work for irq4 ... 我以前没有看过此消息。一般是什么意思?我应该担心吗? (根据我的研究,它不是特定于发行版的,但是如果相关,我会在运行Ubuntu 16.04的EC2实例上看到消息。)
17 kernel  dmesg 


10
如何从Grub命令行启动Windows分区
我的系统上安装了Windows 10 HOME。安装Windows 10 HOME后,我在单独的分区上安装了Ubuntu 14.04 LTS,以便可以双重引导。 我通过删除安装了Ubuntu 14.04 LTS的分区来删除它。现在,我无法启动系统。在启动时,我的系统在Grub命令行停止。 我想引导到我尚未从系统中删除的Win​​dows 10安装。 这在启动时显示: GNU GRUB version 2.02 beta2-9ubuntu1.3 <br> minimal BASH-like editing is supported.for the first word, TAB lists possible commands completions.anywhere else TAB lists the possible device or file completion. grub> 如何从此grub命令引导Windows分区?
17 linux  grub 

4
如何在openvpn中定义DNS服务器?
我用静态密钥设置了一个openvpn服务器(由于国家网关上的DPI,证书模式不可用),但是连接后我无法成功自动更改DNS。我在Internet和SE上进行了搜索,每个人都建议使用dhcp-option。 我试图将此行添加到 client.ovpn dhcp-option DNS 8.8.8.8 没有效果。我试图在服务器配置文件中添加此行 push "dhcp-option DNS 8.8.8.8" 都没有任何作用。 实际上,根据手册, --dhcp选项类型[parm] 设置扩展的TAP-Win32 TCP / IP属性,必须与--ip-win32动态或--ip-win32自适应一起使用。 但是我的客户端是Mac机,服务器是Linux。有什么解决办法吗?
17 dns  openvpn 

3
备份和还原文件权限
是否有备份和还原文件所有权和权限(可以通过chown和更改的内容chmod)的方法? 您可以使用icacls在Windows中执行此操作。 那么访问控制列表呢?


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.