ホームページに共有されているコードをすべて試してみましたが、成功しなかったので、この質問をします。
非常に長いテキストを含むファイルがあります。すべてのテキストは最初の行にのみあります。
このファイルの末尾に記号を含む長い行を追加したいと思います。私の行は次のとおりです。
[{\n"code":"final .net.wifi.WifiManager wifi \u003d\n "typeName":"","palette":"9","type":" ","spec":"Enable WiFi"}]'
\n
などの記号を含む行を追加したいと思います [{]"...
。既存のファイルの最初の行の終わりまで。
ベストアンサー1
行が非常に複雑でエスケープ文字がたくさん含まれているため、Bash などの一部のシェルでサポートされている printf "%q" を使用することをお勧めします。次のような短いスクリプトを使用できます。
#!/usr/bin/env bash
read -r
printf "%q\n" "$REPLY"
それを実行し、次の行を貼り付けます。
$ ./printf-q.sh
[{\n"code":"final .net.wifi.WifiManager wifi \u003d\n "typeName":"","palette":"9","type":" ","spec":"Enable WiFi"}]'
\[\{\\n\"code\":\"final\ .net.wifi.WifiManager\ wifi\ \\u003d\\n\ \"typeName\":\"\"\,\"palette\":\"9\"\,\"type\":\"\ \"\,\"spec\":\"Enable\ WiFi\"\}\]\'
最後の行は、次のようにエスケープ文字を追加しなくても、シェルで使用できる形式で表示されます。
$ echo \[\{\\n\"code\":\"final\ .net.wifi.WifiManager\ wifi\ \\u003d\\n\ \"typeName\":\"\"\,\"palette\":\"9\"\,\"type\":\"\ \"\,\"spec\":\"Enable\ WiFi\"\}\]\' >> FILE
$ cat FILE
[{\n"code":"final .net.wifi.WifiManager wifi \u003d\n "typeName":"","palette":"9","type":" ","spec":"Enable WiFi"}]'