次の文字列があります。func showFetchNextSliceFailed(result: UserResult<[Product]>) {
これから私は考える1)。 2)のみ抽出しますshowFetchNextSliceFailed
。同様に、与えられた行のすぐ上に挿入します#Mark showFetchNextSliceFailed
。
func showProductsList(result: UserResult<[Product]>) {
}
func showFetchNextSliceFailed(result: UserResult<[Product]>) {
}
予想出力:
#Mark showProductsList
func showProductsList(result: UserResult<[Product]>) {
}
#Mark showFetchNextSliceFailed
func showFetchNextSliceFailed(result: UserResult<[Product]>) {
}
grepとsedを試しましたが、まだ文字列を抽出して置き換える方法を正しく理解できませんでした。
ベストアンサー1
そしてsed
- 一致するパターン空間をコピーして省スペース
- パターン空間の変更
- 予約済みスペースから元のコンテンツを復元して追加します。
前任者。
$ sed '/func show/ {h; s/func \(show[^(]*\).*/#Mark \1/; G;}' file
#Mark showProductsList
func showProductsList(result: UserResult<[Product]>) {
}
#Mark showFetchNextSliceFailed
func showFetchNextSliceFailed(result: UserResult<[Product]>) {
}