Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 如何使用三个空格作为分隔符?_Awk_Delimiter_Cut_Tr - Fatal编程技术网

Awk 如何使用三个空格作为分隔符?

Awk 如何使用三个空格作为分隔符?,awk,delimiter,cut,tr,Awk,Delimiter,Cut,Tr,我需要将分隔符从a:设置为三个空格 到目前为止,我的代码如下: cut -d f1,6,7 test | tr : ' ' 不要介意管道之前的任何事情,那只是为了格式化文件“test”。它将用一个空格(而不是三个)替换分隔符,如何完成此操作?这应该可以: awk -F: -v OFS=" " '{print $1,$6,$7}' test -F将输入字段分隔符设置为冒号,-v将输出字段分隔符设置为3个空格,然后awk正文打印所需字段 sed选项将是 cut -d: -f1,6,7 t

我需要将分隔符从a:设置为三个空格

到目前为止,我的代码如下:

cut -d f1,6,7 test | tr : '   '
不要介意管道之前的任何事情,那只是为了格式化文件“test”。它将用一个空格(而不是三个)替换分隔符,如何完成此操作?

这应该可以:

awk -F: -v OFS="   " '{print $1,$6,$7}' test
-F
将输入字段分隔符设置为冒号,
-v
将输出字段分隔符设置为3个空格,然后awk正文打印所需字段

sed选项将是

cut -d: -f1,6,7 test | sed 's/:/   /g'

tr
是一对一的替换。除此之外,您还需要类似于
awk
sed
或几乎任何其他东西。您还尝试了什么?请以其他人可以遵循的方式指定您的要求。在它的当前版本中,这个问题完全不清楚。所以我有以下字符串:larryjohnson:x:604:512:Larry Johnson:/home/students/larryhohnson2:/bin/bash,我需要做的是提取用户名、主目录和默认shell,所以我用这个来提取它们:cut-d f1,6,7 test,现在我需要将:分隔符替换为三个空格,这就是我卡住的地方,我不确定使用哪个awk或sed命令。@米奇请编辑您的问题,而不是在注释中添加解释。