我正在尝试替换文件中出现的第一个字符串。例如,试图用linux取代第一个foo
sample.txt
Hi foo bar
This is again foo bar.
命令:sed '0,/foo/s//linux/' sample.txt
上述命令的实际输出(基本不变)
Hi foo bar
This is again foo bar.
我的预期产出如下
Hi linux bar
This is again foo bar.
这里有人能帮忙吗?
我知道如何在Linux上获得awk的版本:awk -W version
然而,这在macOS上是行不通的。
我环顾四周,找不到任何东西。
我还查看了awk手册页面,但找不到任何东西:
$ man awk | grep version
conversion format used when converting numbers (default %.6g)
There are no explicit conversions between numbers and strings. To
我对这个cut命令没有异议。
wolf@linux:~$ echo ab cd ef
ab cd ef
wolf@linux:~$ echo ab cd ef | cut -d ' ' -f 1
ab
wolf@linux:~$ echo ab cd ef | cut -d ' ' -f 2
cd
但是,当我尝试使用这样的不同输入的相同命令时,我没有得到预期的输出。
wolf@linux:~$ ip address show eth0 | grep 'inet '
inet 10.10.10.10/24 brd 10.10.10.25
我正在编写一个脚本,使用BASH对Nagios插件服务定义进行更改。我需要附加联系人的名称行,但只对某些服务定义。所以我先从这个开始。
define service {
use sites-service
host_name my_host
service_description check_reboot_os_updates
check_command check_reboot_os_updates
contact_groups conta
我有一个ascii文件,内容如下:
START
this is my home
this is my pc
START
this is my linux
this is my awk
this is nice
START
this is a single line
START
this is my work
this is the end
this line has to be read
START
...
...
START
.
.
.
.
我希望读取开始行和空行之间的行,并以分隔格式打印输出。产出应采用以下格式:
this is my home;this is my pc
thi
我有一个大数据,包含值。我知道行数,但每一行中的列数可以改变。
我正在尝试将它的特定列(如果存在)复制到另一个文件中。因此,我使用了Linux终端,并编写了以下代码:
awk {'print $2'} file.csv
我得到了一个错误:
program limit exceeded: maximum number of fields size=32767
FILENAME="20181024_d1_0830_0900.csv" FNR=18 NR=18
有解决办法吗?