Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

FSはFile Separatorの略であり、Field Separatorの略でもある

以前のCLI_YAMLパーサ解析の続きです。

local fs=$(echo @|tr @ '\034')

sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \
        -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p"  $1 |
awk -F$fs '{
   ....
}

色々調べた所、どうもsedは\034... つまり、ファイル分割の制御文字(FS)を扱えないようです。
FSは記録の主流が磁気テープ媒体だった時代*1の名残で、ファイルとファイルの間を分離する記述です。
また、-Fオプションにて指定しているawkのフィールドセパレータも、同様に略称がFSです。

\034 = \x1C = ^\

\034はSUBSEPというawk組込み変数にも適用されています。
何やら多次元配列で使うものらしいのですが...よくわかりませんグヌヌ

*1:蛇足:最近ではコスパと技術革新でまたシェアが増えてるらしいです