質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

3回答

2432閲覧

文字・記号挿入について

tk_flavor

総合スコア104

sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2017/04/18 10:31

編集2017/04/18 10:32

下記のような文字列がある時、

b_yaku01_201701

この文字列先頭行に__ '__
行末に ',
をLinuxコマンドで挿入したい時、どのようにすればよろしいでしょうか

ご教授頂けますと幸いです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thinca

2017/04/18 10:43

その文字列はどのように渡されますか? またどのような結果を期待していますか? もう少し詳しく、具体的に書いてもらえると助かります。
guest

回答3

0

sed だと、

sed "s/.*/'&',/"

下記のような文字列は除外して、

=>が無い行だけを置換対象にするなら、

sed "/=>/"\!"s/.*/'&',/" ```(`!`の入れ方が難しい)

投稿2017/04/18 15:00

otn

総合スコア84531

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tk_flavor

2017/04/19 01:54

ありがとうございました。 正規表現はいろいろ慣れないと即座に記載出来ないものですね。。
guest

0

ベストアンサー

sed で書くと、 sed -e "s/^/'/" -e "s/$/',/" で動くはずです。
echo b_yaku01_201701 | sed -e "s/^/'/" -e "s/$/',/" でテストできます。

^$ は正規表現の特殊文字です。
正規表現について、調べて見ると良いと思います。

投稿2017/04/18 10:44

raa0121

総合スコア190

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tk_flavor

2017/04/18 10:59

ありがとうございます。 大変、申し訳ありませんが、追加で質問させて下さい。 下記のような文字列は除外して、 "set_id" => 1, "table_id" => 10, "sequence_id" => 10, b_yaku01_201701 の 文字列先頭行に ' 行末に ', を挿入したい場合、コマンドをご教授頂けますと幸いです。 下記のように、否定の!を使う形になりますでしょうか sed -e "s!/^/" -e "s/^/'/" -e "s/$/',/"
guest

0

エディタで修正した方が早いんじゃ?
という話はさておき、awkならこんな感じ

awk '/b_yaku01_201701/{print "'" $0 "',";next}{print $0}' hoge.txt

投稿2017/04/18 12:51

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問