私のような形式で input.datタブdelimetedデータファイルしている場合:パイプで複数のフィールドを処理するにはどうすればいいですか?
#id acct name city age
12 100290 Sally San Francisco 24
15 102911 Jerry Sacramento 40
99 102134 Amir Eureka 82
は、私は、複数の処理機能の元:(lookup_id, scrub_acct, scrub_name, lookup_city, scrub_age
)フィールドあたりのデータ実行などを実行するためにcut(1)
または類似のものを使用することはできますがパイプを通して?
これは、1つのフィールドでこれを行うのは簡単です:
cat input.dat | cut -f1 | lookup_id > output.dat
が、フィールドごとにこれを行う方法があります場合、私は思ったんだけど、結果は OUTPUT.DAT にリダイレクトしています。
#id acct name city age
AA XXXXX0 SXXXX city-57 20s
AC XXXXX1 JXXXX city-29 40s
AF XXXXX4 AXXXX city-100 80s
多分事前質問ができますか(これは簡単です)?
私はまた、paste(1)
がどのようにして列を戻し合わせるかの代替方法かもしれないと考えていますが、もっと良い方法があるかもしれません。
私はawkを見てみることをお勧めします。 – Cyrus
ああ、私はあなたが各フィールドで機能を実行し、サブシェルを起動できると思います。カットしてこれを行う方法はありませんか? Awkは時にはそのような獣です。 @Cyrus – qodeninja
'lookup_id、scrub_acct、scrub_name、lookup_city、scrub_age'はシェル関数ですか? – anubhava