Awk 如何使用三个空格作为分隔符?
我需要将分隔符从a:设置为三个空格 到目前为止,我的代码如下: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
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命令。@米奇请编辑您的问题,而不是在注释中添加解释。