CSVファイルを考えると、
h1 h2 h3
a b c
z x b
コマンドラインツールを使用して、最初のヘッダーの名前をOne
に、3番目のヘッダーの名前をThree
に変更する方法。
One h2 Three
a b c
z x b
これはそれを行う必要があります:
https://stackoverflow.com/questions/11145270/bash-replace-an-entire-line-in-a-text-file
ヘッダーはファイルの最初の行だけにする必要があるため、N = 1を使用し、目的のヘッダーを使用して行を書き換えます。
sed -i '1s/.*/One, h2, Three/' file.csv
それをします
行ベースのソリューション(sed
ベースなど)は、複数行のcsvヘッダーでは機能しません。
したがって、csv形式を理解するための何かが必要です。
たとえば、csvtool
(ocaml)の場合:
echo 'My,New,Header' > output.csv
csvtool drop 1 input.csv >> output.csv
Sedには、現在の行全体を置き換える「変更」コマンドc
があります。
sed -i '1c\One h2 Three' file.csv
これはGNU sedで機能します。他のsedでは、テキストを別の行に入力する必要がある場合があります。
sed -i '1c\
One h2 Three' file.csv