use*_*498 8 text-processing csv
我有一个文本文件,每一行都像这样存储:
"Video or movie" "parent" "Media or entertainment" "1" "1" "1" "0" "0"
Run Code Online (Sandbox Code Playgroud)
我想将第 3 列与第 2 列交换,即
"Video or movie" "Media or entertainment" "parent" "1" "1" "1" "0" "0"
Run Code Online (Sandbox Code Playgroud)
如何在 linux 中使用 shell 脚本或任何其他脚本语言执行此操作?我只需要一个最简单、最快捷的方法。
它可以awk
通过"
用作字段分隔符来完成。但是这样做,您必须记住它$1
是空的,$2
包含第一个字符串,字符串$3
之间的空格,$4
第二个字符串等。此外,交换两个字符串而不是仅打印所有字段并希望您输入更可靠够$n
秒。考虑到这些,以下应该有效:
awk 'BEGIN{OFS=FS="\""} {tmp=$4;$4=$6;$6=tmp;print}' input_file >output_file
Run Code Online (Sandbox Code Playgroud)