タグ付けされた質問 「sed」

sedは、テキストをフィルタリングおよび変換するためのコマンドラインストリームエディターです。

3
Sed —一致した行の文字を所定の位置に置き換えますか?
このような行を含むファイル内: # lorem ipsum blah variable #特定の文字列を含む同じ行の文字を削除します(コメント)。であるsed。このために良いですか? この条件付きの動作を取得するのに苦労しています。これには「不器用な」方法があります。awkまたはで一致する行番号を見つけて、sedこの番号を別のsedコマンドで使用できますが、これははるかに良い方法で実行できると考えています。
21 sed 

13
ファイルからすべてのコメントを削除するにはどうすればよいですか?
コメント付きのファイルがあります: foo bar stuff #Do not show this... morestuff evenmorestuff#Or this コメントされていないコードをすべて印刷したいだけです。 foo bar stuff morestuff evenmorestuff ファイルからコメントを取り除くことができることはとても重要です...それを行う良い方法は何ですか?

1
「sed」置換に補間された文字列がすべてのメタ文字をエスケープすることを保証する方法
テキストストリームを読み取り、後でで実行されるsedコマンドのファイルを生成するスクリプトがありますsed -f。生成されるsedコマンドは次のとおりです。 s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g sedコマンドを生成するスクリプトが次のようなものであると仮定します。 while read cid fileid do cidpat="$(echo $cid | sed -e s/\\./\\\\./g)" echo 's/'"$cidpat"'/https:\/\/mysite.com\/files\/'"$fileid"'/g' >> sedscr done cid文字列内のすべての正規表現メタ文字が適切にエスケープおよび補間されるようにスクリプトを改善するにはどうすればよいですか?
21 sed  quoting 

3
シェルコマンドを使用してすべての行に行番号を追加するにはどうすればよいですか?
私のファイル、 PSS-A (Primary A) PSS-B (Primary B) PSS-C (Primary C) PSS-D (Primary D) PSS-E (Primary E) PSS-F (Primary F) PSS-G (Primary G) PSS-H (Primary H) PSS-I (Primary I) SPARE (SPARE) 出力ファイル、 1> PSS-A (Primary A) 2> PSS-B (Primary B) 3> PSS-C (Primary C) 4> PSS-D (Primary D) 5> PSS-E (Primary …

1
「#!/ bin / sh -a」の-aがsedに影響し、「set -a」が影響しないのはなぜですか?
次の.shファイルを実行した場合: #!/bin/sh -a echo "a" | sed -e 's/[\d001-\d008]//g' 結果はエラーです: sed:-e expression#1、char 18:無効な範囲終了 しかし、次の.shファイルを実行すると: #!/bin/sh set -a echo "a" | sed -e 's/[\d001-\d008]//g' エラーなしで実行されます。2番目のコードは最初のコードと同等であると想定されていませんか?最初のエラーはなぜですか?

1
コマンドsed '1!G; h; $!d'はどのようにファイルの内容を逆にしますか?
私の質問はsed、この逆greppingの質問に対するこの回答の特定のソリューションに関連しています。sed/ grep私は解読することができませんというソリューションは、次のいずれかです。 sed '1!G;h;$!d' file 誰かがこのコマンドを解読できますか? VI(M)の知識から、Gはファイルの最終行を示し、sedではbang(!)の後にアドレスが続くgrep -vということは、その行と一致しないということです。しかし、全体として、上記のインラインsedスクリプトは私を超えています。
20 sed 

1
ファイル内のパターンを他のファイルのコンテンツで置き換える
テキストファイル(devel.xml)があります。 この文字列を別のファイル内のコンテンツに置き換えるために、単語REPLACETHISを追加しました(temp.txt)。 私が持っている最も近いものはこれです: sed -i -e "/REPLACETHIS/r temp.TXT" -e "s///" devel.txt; これにより、文字列の後にコンテンツが挿入され、その後文字列が削除されます。 これが最善の方法ですか?

1
テキストをsedで置き換え、元のテキストの一部を保持する
変換しようとしています <id>1</id> <Name>ENTERPRISE RESOURCE PLANNING</Name> に: <column name="id">1</column> <column name="Name">ENTERPRISE RESOURCE PLANNING</column> 仕事に最適なツールはになるsedと思いますが、元のテキストの一部を置換部分に保持する方法がわかりません。 私が行った場合: $ sed -i 's/<.*>.*<.*>/<column name="\\1">\\2<\/column>/g' filename.xml 出力は次のとおりです。 <column name="\1">\2</column> <column name="\1">\2</column> または、内から同様のことを行いvi、出力します: <column name=""></column> <column name=""></column> どのように私はそれがそうすることを作ることができる\1とは、\2元の値に戻って置換されていますか?

4
sed / awkを使用して最初のスペースの後にあるものを削除する
aaaaaaaa 09 bbbbbbbb 90 ccccccccccccccc 89 ddddd 09 sed / awk / replaceを使用して、上記のテキストでは、各行の最初のスペースの後にあるすべてのものを削除します。たとえば、出力は次のようになります。 aaaaaaaa bbbbbbbb ccccccccccccccc ddddd 任意の助けをいただければ幸いです。
20 sed  grep  awk 

1
アンパサンド(&)を使用したsed
sedを使用して、SASファイル内のパターンを個別に変更するのではなく、検索して置換しています。問題は、マクロ変数を置き換えようとしていますが、アンパサンドを使用すると正しく処理されないことです。 Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas このコマンドを実行するたびに、元のテキストにあらゆる種類のファンキーなものを追加して実行するようです。 質問:アンパサンドを含むテキストをsedコマンドで置き換えるにはどうすればよいですか?
19 sed  quoting  replace 

5
sedで2桁までゼロで埋める
入力: 201103 1 /mnt/hdd/PUB/SOMETHING 201102 7 /mnt/hdd/PUB/SOMETH ING 201103 11 /mnt/hdd/PUB/SO METHING 201104 3 /mnt/hdd/PUB/SOMET HING 201106 1 /mnt/hdd/PUB/SOMETHI NG 望ましい出力: 201103 01 /mnt/hdd/PUB/SOMETHING 201102 07 /mnt/hdd/PUB/SOMETH ING 201103 11 /mnt/hdd/PUB/SO METHING 201104 03 /mnt/hdd/PUB/SOMET HING 201106 01 /mnt/hdd/PUB/SOMETHI NG 0たとえば1、「日」の部分に1桁しかない場合は、どうすれば追加できますか?この日付形式が必要です:YYYYMM DD。
19 linux  sed  openwrt 

5
SED正規表現との貪欲でない一致(perlの。*?をエミュレート)
を使用sedして、文字列内の最初ABと最初のAC(包括的)の間にあるものをに置き換えXXXます。 以下の場合の例、私はこの文字列を持っている(この文字列はテスト用です): ssABteAstACABnnACss そして、次のような出力が欲しいです:ssXXXABnnACss。 私はこれをしましたperl: $ echo 'ssABteAstACABnnACss' | perl -pe 's/AB.*?AC/XXX/' ssXXXABnnACss しかし、私はそれを実装したいと思いsedます。以下(Perl互換の正規表現を使用)は機能しません。 $ echo 'ssABteAstACABnnACss' | sed -re 's/AB.*?AC/XXX/' ssXXXss

5
major.minor.patchレベル、時にはrcでリストをソートするにはどうすればよいですか?
次のリストをシェルスクリプトでソートし、最新バージョンを下部または上部に表示する必要があります。シェルツールのみでそれを行うにはどうすればよいですか? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

3
awk、sedを使用して特定のパターンを持つ行の一部を抽出する
awk / sed演算子に関して質問があります。次の一連の行が繰り返される大きなファイルがあります Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 それぞれの場合の合計後の値を個別のファイルに抽出したい。一度に行うことは可能ですか?

7
奇数行を印刷し、偶数行を印刷します
ファイルから奇数行と偶数行を印刷したい。 エコーを利用するこのシェルスクリプトを見つけました。 #!/bin/bash # Write a shell script that, given a file name as the argument will write # the even numbered line to a file with name evenfile and odd numbered lines # in a text file called oddfile. # ------------------------------------------------------------------------- # Copyright (c) 2001 nixCraft project <http://cyberciti.biz/fb/> # …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.