The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Identifier une adresse IP de l'imprimante dans la file d'attente HP-Unix lenin1985 HP-UX 2 06-11-2008 04:21 AM
Identifier les documents ayant junk caractères unix sureshg_sampat De programmation et de script Shell 6 11-14-2007 02:44 PM
Identifier une machine distante en tant que Windows ou Unix u449064 UNIX for Advanced & Expert Users 5 08-05-2006 01:03 PM
Identifier le type de fichier DebianJ De programmation et de script Shell 1 11-17-2005 11:55 AM
comment identifier unix C et d'autres le code de langue! a25khan UNIX pour les nuls Questions et réponses 2 01-21-2004 10:44 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 02-10-2009
trichyselva trichyselva is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 65
comment identifier le mode du fichier en unix

salut,
J'ai une exigence que je dois traiter un fichier d'entrée
Le problème, c'est que le fichier d'entrée, il arrive parfois en mode dos et quelques fois elle est venue en mode unix
Le script que j'ai écrit va traiter le fichier que si elle est en mode unix, et il n'est pas le traitement si le fichier est en mode DOS
Y at-il une méthode pour vérifier si le fichier d'entrée est en mode dos ou unix mode dans le script lui-même (alors que le traitement)
Afin que je puisse faire la même chose dans mon script

Merci d'avance

Observe,
Selvaraj S
  #2 (permalink)  
Old 02-10-2009
rakeshou rakeshou is offline
Registered User
  
 

Join Date: Mai 2007
Posts: 75
convertir des fichiers à la commande unix

d'abord convertir les fichiers Windows sous Unix en utilisant le format

tr-d '\ r' <infile> outfile

ou

dos2unix infile> outfile

puis processus.
  #3 (permalink)  
Old 02-10-2009
sunpraveen's Avatar
sunpraveen sunpraveen is offline
Registered User
  
 

Date d'inscription: janvier 2009
Lieu: Pruthvi
Messages: 85
Selva,

Comment est le fichier à venir sur le serveur? Est-ce par FTP? Si oui, quel mode utilisez-vous pour le transfert? ASCII ou binaire?

Notez que si le transfert FTP en mode ASCII, puis les fichiers peuvent avoir des caractères ou des ^ M carrés annexée à la fin de chaque ligne, qui mai suite à l'échec de votre script. Par conséquent, BINARY mode de transfert FTP est toujours préférable.

HTH,

Observe,

Praveen
  #4 (permalink)  
Old 02-11-2009
trichyselva trichyselva is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 65
salut,
Je ne vous demande pas de tr-d '\ r' <infile> outfile

si vous êtes à l'intérieur du script shell, à partir du script lui-même, vous pouvez vérifier si un fichier est d'exécuter, de lire, d'écrire des autorisations

comme ça que je demande. À partir d'un script shell, je veux vérifier si le fichier d'entrée est en mode dos ou unix mode

Mon intention est dans le format (dos ou unix) ils envoient le dossier à la case mon script unix doit vérifier le type et si elle n'est pas à elle de le convertir en mode unix dans le script lors du traitement de



merci
  #5 (permalink)  
Old 02-11-2009
rakeshou rakeshou is offline
Registered User
  
 

Join Date: Mai 2007
Posts: 75
try this

Code:
#!/bin/ksh

# to type ^M, keeping ctrl pressed, press vm

grep "^M" $1


RETURN_CODE=$?
echo $RETURN_CODE

if [ $RETURN_CODE -eq 0 ]; then
        echo "DOS File"
else
        echo "Unix File"
fi
  #6 (permalink)  
Old 02-12-2009
trichyselva trichyselva is offline
Registered User
  
 

Join Date: Feb 2006
Posts: 65
Salut,
Permettez-moi d'expliquer le problème


Les quelques lignes ci-dessous proviennent d'un fichier appelé retst.out
Je viens de copier quelques lignes de l'ouverture du fichier dans vi mode
vous pouvez voir les [deux] dans les lignes ci-dessous (en vi éditeur)

Le fichier en entrée en mode DOS
------------------------

2008110803000200050000011 10,0000 10,0000
2008111503000200050000011 10,0000 10,0000
2008112203000200050000011 10,0000 10,0000
2008112903000200050000011 10,0000 10,0000

"retst.out" [dos] 52L, 3016C


Même après la conversion des fichiers en mode unix

2008110803000200050000011 10,0000 10,0000
2008111503000200050000011 10,0000 10,0000
2008112203000200050000011 10,0000 10,0000
2008112903000200050000011 10,0000 10,0000
"retst.out" 52L, 2964C



Je vais utiliser les lignes ci-dessous pour convertir mon fichier de dos à unix mode mode

tr-d '\ 15 \ 32' <retst.out> 1.txt
mv 1.txt retst.out


Si vous voyez le fichier ci-dessus que je vois tout ctl + M (M ^) caractères dans le fichier
Cette conversion, je demande.

Comment faire la même chose

merci
  #7 (permalink)  
Old 02-12-2009
pludi's Avatar
pludi pludi is online now Forum Staff  
Modérateur
  
 

Join Date: Dec 2008
Emplacement:. À
Messages: 1889
Juste pour précision: le terme "mode" pour UNIX en général fait référence à l'autorisation bits (lecture / écriture / exécution). Qu'est-ce que vous voulez dire serait la résiliation de la ligne de style (DOS / Windows: \ r \ n, UNIX: \ n, Apple: \ r) ou le fichier de l'encodage.
Pour convertir un fichier de style DOS vers Unix, les commandes suggérées par rakeshou devrait fonctionner parfaitement.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 03:51 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0