다음 코드 조각은 기본적으로 16진수 덤프를 변환하고 문자에서 중단하는 사용자 정의 함수 HexNewLine을 사용합니다. 0x0a
$ echo -e "\t{
> "dependencies": {
> "prettier": {
> "version": "1.18.2",
> "from": "[email protected]",
> "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz"
> }
> }
> }" | HexNewLine
00000000 09 7b 0a '.{.'
0000000a 20 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 20 ' dependencies: '
0000001a 7b 0a '{.'
0000001c 20 20 20 20 70 72 65 74 74 69 65 72 3a 20 7b 0a ' prettier: {.'
0000002c 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3a 20 31 ' version: 1'
0000003c 2e 31 38 2e 32 2c 0a '.18.2,.'
00000043 20 20 20 20 20 20 66 72 6f 6d 3a 20 70 72 65 74 ' from: pret'
00000053 74 69 65 72 40 31 2e 31 38 2e 32 2c 0a '[email protected],.'
00000060 20 20 20 20 20 20 72 65 73 6f 6c 76 65 64 3a 20 ' resolved: '
00000070 68 74 74 70 73 3a 2f 2f 72 65 67 69 73 74 72 79 'https://registry'
00000080 2e 6e 70 6d 6a 73 2e 6f 72 67 2f 70 72 65 74 74 '.npmjs.org/prett'
00000090 69 65 72 2f 2d 2f 70 72 65 74 74 69 65 72 2d 31 'ier/-/prettier-1'
000000a0 2e 31 38 2e 32 2e 74 67 7a 0a '.18.2.tgz.'
000000aa 20 20 20 20 7d 0a ' }.'
000000b0 20 20 7d 0a ' }.'
000000b4 7d 0a '}.'
tr
이제 개행 뒤에 탭을 추가 했지만 아무 일도 일어나지 않았습니다!
$ echo -e "\t{
> "dependencies": {
> "prettier": {
> "version": "1.18.2",
> "from": "[email protected]",
> "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz"
> }
> }
> }" | tr '\n' '\n\t'
{
dependencies: {
prettier: {
version: 1.18.2,
from: [email protected],
resolved: https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz
}
}
}
답변1
sed를 사용한 솔루션. 나는 bashism을 사용하여 $'\t'
변수를 채우고 \t
이 변수를 사용한 후에 sed를 사용합니다.
echo -e "{
"dependencies": {
"prettier": {
"version": "1.18.2",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz"
}
}
}" | ( TAB=$'\t' ; sed "s/^/$TAB/" )