2017-12-22 5 views
0

だから私はこのような出力の外観を作成するコマンドが必要になります。ターミナルからマルチラインファイルを作成するときは、どのようにインデントしますか?

[core] 
      repositoryformatversion = 0 
      filemode = true 
      bare = false 
      logallrefupdates = true 
    [remote "origin"] 
      url = ssh://[email protected]/user/address.git 
      fetch = +refs/heads/*:refs/remotes/origin/* 
    [branch "master"] 
      remote = origin 
      merge = refs/heads/master 

私は

printf "[core]\n repositoryformatversion = 0\n filemode = true\n bare = false\n logallrefupdates = true\n logallrefupdates = true\n[remote "origin"]\n url = ssh://[email protected]/user/address.git\n fetch = +refs/heads/*:refs/remotes/origin/*\n[branch "master"]\n remote = origin\n merge = refs/heads/master" > config 

、次のことを試してみました。しかし、それは

[core] 
repositoryformatversion = 0 
filemode = true 
bare = false 
logallrefupdates = true 
logallrefupdates = true 
[remote origin] 
url = ssh://[email protected]/user/address.git 
fetch = +refs/heads/*:refs/remotes/origin/* 
[branch master] 
remote = origin 
merge = refs/heads/master 

これらの内容でファイルを作成します。最初に述べた形式でこれを出力するにはどうしたらいいですか?

+2

で変数を定義します:ちょうどcatで、ここで文書を使用しています。おそらくあなたはprintfを組み込んだ非標準のシェルを使用しています。あるいは、printfのエイリアスや関数が定義されているかもしれません。 –

+1

ファイルを字下げせずに作成してください: 'sed -E 's/^ [^ []/\ t&/' file' – Cyrus

+0

saavedra29の回答が – Rixwaan

答えて

2

printfは一切使用しないでください。

cat <<'EOF' > config 
[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     logallrefupdates = true 
[remote "origin"] 
     url = ssh://[email protected]/user/address.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
EOF 

をそれとも、あなたが動作するはず書いた何内容

config=' 
[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     logallrefupdates = true 
[remote "origin"] 
     url = ssh://[email protected]/user/address.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
' 

printf '%s\n' "$config" > config 
+0

である理由を説明できますか?私は端末に新しいです – Rixwaan

+0

主に、それはより読みやすいです。入力は、改行を表すためのエスケープシーケンス '\ n 'を埋め込むのではなく、出力のように見えます。 – chepner

0

"\ n"の後に "\ t"を使用してタブを作成できます。

関連する問題