sedを使用して文字列にダッシュを挿入する方法(例:201107
〜2011-07
)?sedを使用して特定の場所に文字を挿入
17
A
答えて
0
以下は、4桁の文字列とそれに続く2桁の文字列でのみ置換が行われます。
$ echo '201107' | sed 's/\([0-9]\{4\}\)\([0-9]\{2\}\)/\1-\2/'
2011-07
sedの正規表現があるため\d
の欠如、および括弧と中括弧(ただしbrakets)をエスケープする必要があるため、少し厄介です。私の解答はであるべきであるならば、's/(\d{4})(\d{2})/\1-\2/'
でなければならない。
18
echo "201107" | sed 's/201107/2011-07/'
しかし、冗談、ここではより一般的な解決策があります:
echo "201107" | sed 's/^\(.\{4\}\)/\1-/'
これは、最初の4つの文字の後に-
を挿入します。
HTH
0
私は(少なくとも私のGNUは4.2.2をSED)、これは巨大な恐竜を掘りされていますが、不確実なsedのバージョンの場合は6つのテーリングゼロ
echo '20110715000000' | sed 's/\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{6\}\)/\1-\2-\3/'
2
を排除したいかどうかを知ります、あなただけ行うことができます:
echo "201107" | sed 's/./&-/4'
/4
- >(検索パターンの第4回発生を置き換えるを.
)
&
- 全試合
へ>後方参照、私は別のポストからこのことを学んだ:https://unix.stackexchange.com/questions/259718/sed-insert-character-at-specific-positions
関連する問題
- 1. Javascript文字列内の特定の場所に変数を挿入する
- 2. 特定の場所にテキストを挿入します
- 3. sed特定の行にスペースを入れて行を挿入します
- 4. 新しい行をMySQLの特定の場所に挿入します
- 5. Windows Phone7のMicrosoftロケーションサービスAPIを使用して場所を特定
- 6. C++を使用してMYSQLテーブルに文字を挿入
- 7. sedの特殊文字
- 8. ActionScript:ランダムな場所で文字列にテキストを挿入しますか?
- 9. sedを使ってピリオドを挿入した後にスペースを挿入
- 10. SQLを使用して特定の場所にデータを設定する
- 11. プリプロセッサマクロを使用してコメント文字を挿入します。
- 12. Googleスプレッドシートを特定の場所に挿入する必要があります
- 13. SEDや特殊文字
- 14. CSVのJava + mySQLで特定の文字セットを挿入
- 15. Roslynを使用してクラスメンバーを特定の場所に追加しますか?
- 16. sedを使用して特殊文字を含むシェルスクリプト内の文字列を置換
- 17. マップファイルを使用したクラッシュの場所の特定
- 18. FWRITE()XAMPPを使用して特定の場所にファイルを保存する
- 19. javacriptを使用して特定の場所に直接ファイルをダウンロード
- 20. PHPを使用して特定の場所にダウンロードファイルを保存する方法
- 21. Codeigniter:set_value()が空の場合に文字列を挿入します。
- 22. 特定の場所
- 23. Windows用のodataクライアントライブラリを使用してUnicode文字列を挿入します。
- 24. Pythonを使用して特定のタグにbase64ファイルを挿入する方法
- 25. 指定された場所で、配列に挿入し
- 26. Javaを使用して文字列内の特定の場所に複数の部分文字列を置換/追加する
- 27. sedまたはawkの特定のフィールドに文字を追加します
- 28. 特定の場所での正規表現の特別な文字
- 29. IPアドレスを使用してAndroidのデバイスの場所を特定する方法
- 30. PHPを使用してMySQLデータベースの特定のフィールドに挿入する