行の特定の文字の前のテキスト文字を削除するには?
最初の文字「F」の左側の文字を削除したいです。
例:
null###F01|54646466|00K4234001|IFD|1990101
null###F02|54646499|00K4234001|TFS|1990101
null###F03|03232432|00RWEREW01|ZAI|1990101
結果は次のようになります
F01|54646466|00K4234001|IFD|1990101
F02|54646499|00K4234001|TFS|1990101
F03|03232432|00RWEREW01|ZAI|1990101
私はそれを試していますが、awk -F"F" '{print "F"$2}'
動作しません。
答え1
ご意見がある場合みんな次のような場合、最も効率的な解決策はおそらく次のとおりです。
cut -d\# -f4- <<\IN
null###F01|54646466|00K4234001|IFD|1990101
null###F02|54646499|00K4234001|TFS|1990101
null###F03|03232432|00RWEREW01|ZAI|1990101
IN
説明するために上記のここで文書を使用していますがcut -d\# -f4- <infile >outfile
。cut -c8- <in >out
(正直なところ、これは最も効率的な方法かもしれません。)。どちらにしても...
出力
F01|54646466|00K4234001|IFD|1990101
F02|54646499|00K4234001|TFS|1990101
F03|03232432|00RWEREW01|ZAI|1990101
答え2
grep -o 'F.*'
または(30文字以上が必要です)
perl -pe 's!.*?F!F!'