bashで標準入力をシングルクォーテーションで囲みハイフンをつけるいい方法が知りたいです。catとawkで書きましたが、このままですと長いのでより短い方法があれば教えて下さい。
cat| awk '{for(i=1;i<=NF;i++)printf("'\''"$i"'\'' ,")}END{printf("\n")}'
参考
- sed/awkで各文字列をシングルクォーテーション・ダブルクォーテーションで囲む | 俺的備忘録 〜なんかいろいろ〜
"awkの場合
awkの場合だとこんな感じ。
1
2
awk '{for(i=1;i<=NF;i++)printf("""$i"" ")}END{printf("\n")}' # ダブルクォーテーションの場合
awk '{for(i=1;i<=NF;i++)printf("'''"$i"''' ")}END{printf("\n")}' # シングルクォーテーションの場合
blacknon@BS-PUB-UBUNTU-01:$ echo abc def ghi | awk '{for(i=1;i<=NF;i++)printf("""$i"" ")}END{printf("\n")}'$ echo abc def ghi | awk '{for(i=1;i<=NF;i++)printf("'''"$i"''' ")}END{printf("\n")}'
"abc" "def" "ghi"
blacknon@BS-PUB-UBUNTU-01:
'abc' 'def' 'ghi'"
回答2件
あなたの回答
tips
プレビュー