![]() |
|
|
Googleのunix.com
|
|||||||
| UNIXのダミー質問と回答のため もしUNIXやLinuxについての質問があれば、ここに投稿してください。すべてのUNIXおよびLinux初心者歓迎! |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 言葉なしでの行数 | サティシュ@ 123 | シェルプログラミングとスクリプティング | 7 | 2008年5月21日 03:59午前 |
| @の行を特定する必要があるファイルの行の間に | b.paramanatti | UNIXのダミー質問と回答のため | 4 | 2007年11月4日 10:50午後 |
| 一行からの単語を分離するか? | skyineyes | シェルプログラミングとスクリプティング | 3 | 2007年6月26日 午前10時 |
| 行と重複行を削除する | オセロット | UNIXのダミー質問と回答のため | 11 | 2007年1月30日 12:44午後 |
| 重複する言葉 | zulander | UNIXのダミー質問と回答のため | 1 | 2001年4月1日 04:11午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
やあ、 私は明らかに問題を説明させてください: 私のファイルにするのエントリみましょう: コード:
lion,tiger,bear apple,mango,orange,apple,grape unix,windows,solaris,windows,linux red,blue,green,yellow orange,maroon,pink,violet,orange,pink 私たち)は、言葉の1つ(フィールドの区切り文字で区切っている行を検出することはできますが一度は、コマンド(またはコマンド管)を使用して多く発生しますか? この場合、コマンドは、 2,3,5行を検出する必要があります。 私はそれを使用して達成 perlの スクリプト(下記参照)かどうかは、このコマンドによって行うことができるのか、 (その困難はないことを挙げた。カラムの定数ではありません) 。 Perlの プログラムが使用される: コード:
$fname=<STDIN>;
chomp $fname;
open(file,"<$fname");
$found_dups=0;
for $line(<file>)
{
chomp $line;
@arr=split(/,/,$line);
for($i=1;$i<=$#arr;$i++)
{
for($j=$i+1;$j<=$#arr;$j++)
{
if($arr[$i] eq $arr[$j])
{
print "tid $arr[0]\n";
$found_dups++;
}
}
}
}
print "Found $found_dups duplicates\n";
ありがとう、 Srini |
|
||||
|
Pythonの場合は、ここでは代替のneater : コード:
#!/usr/bin/python
for line in open("file"):
line = line.strip().split(",")
if len(line) == len(set(line)):
print "No change"
else:
print ','.join(line)
出力: コード:
# ./test.py No change apple,mango,orange,apple,grape unix,windows,solaris,windows,linux No change orange,maroon,pink,violet,orange,pink |
|
||||
|
awkは- Fが、 ' (
(私\u003d 1 ;私<のNF ;のI + + ) ( (私はJ \u003d 1 ; J < \u003dのNF ; J + +の) ( もし( $私\u003d\u003d $ J )を( $私は" : " $ 0 )を印刷 ) ) ) ' < < ENDOFFILE ライオン、トラ、クマ リンゴ、マンゴー、オレンジ、リンゴ、ブドウ UNIXは、 Windows版、 Solaris 、 WindowsやLinux 、 、 、青緑赤黄色 オレンジ色、えび茶色、ピンク、紫、オレンジ、ピンク ENDOFFILE リンゴ:アップル、マンゴー、オレンジ、リンゴ、ブドウ 窓: UNIXは、 Windows版、 Solaris 、 WindowsやLinux オレンジ色:オレンジ、えび茶色、ピンク、紫、オレンジ、ピンク ピンク:オレンジ、えび茶色、ピンク、紫、オレンジ、ピンク |
|
||||
|
やあ、
Thanxの提案。私は、ジョブのスクリプトのさまざまなバリエーションで、しかし私は" 1つのコマンドを実行することができます午前熱心/コマンドをパイプ"は、仕事をすることができます理解しています。各ラインのエントリがある場合のみ、特定の番号を、私はしている手動コマンドでそれらを比較することができますAwkのラインを使用して/perlの。しかし、私dontはない知っている。各ラインのエントリは、面倒な作業です。 もしこれらのスクリプトのコマンドをパイプのバージョンを取得私は賢明だろう。 ありがとう Srini |
|
||||
|
再び perlの、 しかし多くの単純な ![]() コード:
#! /opt/third-party/bin/perl
open(FILE, "<", "file") || die "Unable to open file <$!> \n";
while(chomp($var=<FILE>)) {
@arr = split(/,/, $var);
foreach(@arr) {
if( exists $fileHash{$_} ) {
print $var . "\n";
last;
}
else {
$fileHash{$_} = $i++;
}
}
%fileHash = ();
}
close(FILE);
exit 0
|
|
||||
|
やあ、
私は間違いだと思う。 引用:
自分の傲慢された証書はすみません。 ありがとう、 Srini |