2016-09-14 11 views
-1

に一致場合Linuxは(Iマッチ& 2列との間のスペースを削除しない文字列ラインからスペースを削除することができるように、ネイティブシェルにAWKまたはsedのまたは任意の他のディスプレイフィルタ機構を希望スペース/列を削除列)が一致しない場合。そして、出力を表示します。文字列パターン

マイファイル:

# cat test2 
col0 col1 col2 col3 col4 col5 
ln1 abc def ghi jkl mno 
ln2 abc defghi jkl mno pqr 

私の出力私はなりたい:

# <something to view/grep/filter with> test2 
col0 col1 col2 col3 col4 col5 
ln1 abc defghi jkl mno 
ln2 abc defghi jkl mno pqr 

私はgrepの&のawk &カットの複数の組み合わせを試してみました。しかし、それを行うことはできません。私はうんざりしていませんが、試してみることができます。私もいくつかのファイル&その後のgrepに中間ファイル、すなわちエコー出力を使用することを試みました。しかし私はそれもやっていませんでした。

は私の要件のより多くを編集:

私の最大の問題はスペースが行のエントリの内容がどうなるか&される場所を私は予測できないということです。だから私は、特定の文字列に基づいていない出力を得るためにsedをたいと思いますが、代わりに列番号に基づきます。

マイファイル:

# cat test2 
col0 col1 col2 col3 col4 col5 
ln1 abc def ghi jkl mno 
ln2 abc defghi jkl mno pqr 
ln3 aaa bbb ccc ddd eee 
ln4 aaa bbbccc ddd eee 

出力ファイル:

# <something to view/grep/filter with> test2 
col0 col1 col2 col3 col4 col5 
ln1 abc def ghi jkl mno 
ln2 abc defghi jkl mno pqr 
ln3 aaa bbbccc ddd eee 
ln4 aaa bbbccc ddd eee 
+0

編集した質問は、基準が何であるかについて何ら明確さをもたらしていません。なぜ3行目のスペースが削除されたのですか?助けが必要なルールやパターンは何ですか?それはその後、 '「sedの3行目はいつもなら3S///2''(あなた' sed'は、第二の発生を置き換えるために/ 2フラグをサポートしている場合)。出力を5列にする必要がある場合、最初の行と2行目があなたの例で変更されていないのはなぜですか? – tripleee

答えて

1
sed 's/def ghi/defghi/' file 

それはあなたが、あなたの要件を明確にするためにあなたの質問を編集して、より良いあなたを実証入力/出力を提供したかったものではありませんなら問題。

+0

お返事ありがとうございました。これはまさに私が達成したかったものです。しかし私は小さな変更を要請したいと思います。列番号で可能ですか?列の実際のテキストの代わりに。私の場合、行の線は変化し続けるので。たとえば、私の元のファイルが以下のようなものであれば、上記の解決策は動作しません。 'COL0 COL1 COL2 col3というCOL4 COL5 LN1 ABC DEF GHI JKL MNO LN2 ABC defghi内JKL MNO PQR LN3 AAA BBB CCC DDD EEE LN4 AAA bbbccc DDD EEE fff'あなたはドンので、コメントでフォーマットされたテキストを入れることはできません –

+0

」試してみてください。あなたの質問があなたの要件を適切に捉えていない場合は、あなたの質問を編集してください。もちろん、あなたが2日まで、次の前にそれを残しているので、チャンスは今の答えを得ることにそれで任意のより多くのようにメーリングリストを見てしようとして無のものではありません。 –

+0

私は私の元の質問を編集しました。 –

関連する問題