2017-05-26 12 views
-5

1以外のすべてのパターンを削除する必要がありますが、これはBashスクリプトでは動作しません。 私はBash:1以外の発生パターンをすべて削除します。

sed -e 's/ /\\ /g' -e 's/\\//1' 

sed ':a;s/\([^ ]* .*[^\\]\) \(.*\)/\1\\ \2/;ta' 

を試していないが、どちらも、残念ながら所望の効果を持っています。

誰かが私を助けてくれますか? ありがとうございます!

+5

で最大はないですけれども追加してください。あなたの質問へのそのサンプル入力のサンプル入力とあなたの望む出力。 – Cyrus

+0

あなたの最初の試みは、あなたが望むものとまったく同じように思えます。だからあなたはあなたが望むものについての詳細を提供する必要があります。 –

+0

あなたは 'sed -e 's// \\/g' -e '1、//s/\\//'' –

答えて

0

は、私は推測しますと、多分それは役立ちます:

cat file 

header for file 
1111 
header for file 
1111 
2222 
header for file 
3333 
4444 
5555 

awk '/header/&&c++>0 {next} 1' file 

header for file 
1111 
1111 
2222 
3333 
4444 
5555 

私はsed

sed '1!{/^header/d;}' file  
+0

パターンを検索するのに必要なファイル全体がリストされていますが、実際には適用されません。実際にどのように変更を適用できるのか教えていただけますか? – Florius

+0

私は推測していないあなたの入力と希望の出力を表示していただけますか?ありがとう。 – Chris

0

重複した空白を削除しようとしていますか?

これが正しい場合

てみ のsed -eさん/ +// G '

*それはまた0に発生するパターンと一致していることを、あなたの代わりに+を使用する必要がありますされて使用しても問題。

敬具、無サンプル入力でゲオルク

+0

I '/etc/ssh/sshd_config内の 'PasswordAuthentication no'を削除しようとしています – Florius

関連する問題