質問編集履歴
2
文法修正、試行追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
複数ファイルに対して指定文字列が
|
1
|
+
複数ファイルに対して指定文字列が最初にマッチした行の2行後から最終行までを削除したい
|
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
(2020/04/05 18:30旧タイトル[複数ファイルに対して指定文字列が含まれる次の行以降を削除したい]から修正)
|
2
|
+
|
1
|
-
### 複数ファイルに対して指定文字列が
|
3
|
+
### 複数ファイルに対して指定文字列が最初にマッチした行の2行後から最終行までを削除したい
|
2
4
|
|
3
5
|
|
4
6
|
|
@@ -48,7 +50,7 @@
|
|
48
50
|
|
49
51
|
|
50
52
|
|
51
|
-
このような日付 都市が一行おきにあるsample.txtの最初に1231がヒットした次の行以降を削除したく、
|
53
|
+
このような日付 都市が一行おきにあるsample.txtの最初に1231が~~(18:30修正)ヒットした次の行以降~~マッチした行の2行後から最終行までを削除したく、
|
52
54
|
|
53
55
|
この例ですと20200111 Matsuyama以降を削除したいです。
|
54
56
|
|
@@ -100,6 +102,16 @@
|
|
100
102
|
|
101
103
|
|
102
104
|
|
105
|
+
(18:30追記)
|
106
|
+
|
107
|
+
5, find . -name "*.txt" | xargs sed -i "/1231/q"
|
108
|
+
|
109
|
+
20200111 Matsuyama が残らない、複数ファイルに適応時に1ファイルしか変更が反映されない。
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
103
115
|
### 環境
|
104
116
|
|
105
117
|
Ubuntu 16.04 LTSで実行しています。
|
1
書式条件の追記、試行の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
この例ですと20200111 Matsuyama以降を削除したいです。
|
54
54
|
|
55
|
-
|
55
|
+
(15:49追記)1231の次にどの日付が来るかはランダムです。
|
56
56
|
|
57
57
|
|
58
58
|
|
@@ -92,6 +92,14 @@
|
|
92
92
|
|
93
93
|
|
94
94
|
|
95
|
+
(15:49追記)
|
96
|
+
|
97
|
+
4, cat test.txt | sed -e "/1231/,$ d" -e "/1231/,+1p"
|
98
|
+
|
99
|
+
削除が先に行われるのでマッチする行+1行を出力が反映されなかった。
|
100
|
+
|
101
|
+
|
102
|
+
|
95
103
|
### 環境
|
96
104
|
|
97
105
|
Ubuntu 16.04 LTSで実行しています。
|