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

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

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

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

Q&A

解決済

2回答

526閲覧

sedコマンドについて

Ri---

総合スコア1

sed

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

0グッド

0クリップ

投稿2021/02/17 14:21

&SYSTEM
ibrav = 0
!A = 4.91400
nat = 9
ntyp = 2
occupations='fixed'
ecutwfc=50
ecutrho=400
/
上記の内容を記したファイルについて「occupations='fixed'」のfixedの部分(fixed以外になる事もある)をtetrahedraに置換したいです。どのように表現すればよろしいでしょうかよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

変換例が1つしか提示されていないので、もし示されていない変換規則があるのならそれには対応できないかもしれませんが…、

terminal

1$ sed -e "s/occupations='.*'/occupations='tetrahedra'/" hoge.txt

とか

terminal

1$ sed -e "s/(occupations)='.*'/\1='tetrahedra'/" hoge.txt

とかでどうでしょうか?

terminal

1$ cat hoge.txt 2&SYSTEM 3ibrav = 0 4!A = 4.91400 5nat = 9 6ntyp = 2 7occupations='fixed' 8ecutwfc=50 9ecutrho=400 10/ 11$ sed -e "s/occupations='.*'/occupations='tetrahedra'/" hoge.txt 12&SYSTEM 13ibrav = 0 14!A = 4.91400 15nat = 9 16ntyp = 2 17occupations='tetrahedra' 18ecutwfc=50 19ecutrho=400 20/ 21$ sed -e "s/(occupations)='.*'/\1='tetrahedra'/" hoge.txt 22&SYSTEM 23ibrav = 0 24!A = 4.91400 25nat = 9 26ntyp = 2 27occupations='tetrahedra' 28ecutwfc=50 29ecutrho=400 30/

投稿2021/02/17 14:32

編集2021/02/17 14:37
hidezzz

総合スコア1248

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

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

Ri---

2021/02/17 14:41

うまくいきました。ありがとうございます。
guest

0

ベストアンサー

sedを10分くらい勉強すれば書けそうです。

sh

1sed "s/^occupations='.*'$/occupations='tetrahedra'/"

でしょうか。

投稿2021/02/17 14:31

otn

総合スコア84559

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問