J'ai besoin d'un script qui entre un fichier et renvoie son contenu avec les sauts de ligne supprimés - "word wrapped" pour ainsi dire.
J'ai essayé:
#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done
mais cela ne renvoie rien.
J'ai besoin d'un script qui entre un fichier et renvoie son contenu avec les sauts de ligne supprimés - "word wrapped" pour ainsi dire.
J'ai essayé:
#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done
mais cela ne renvoie rien.
Réponses:
Essayez de faire ceci:
echo $(cat $1)
echo `cat some_file.ext`
J'ai trouvé cette réponse pertinente dans stackoverflow:
/programming/1251999/sed-how-can-i-replace-a-newline-n
Le moyen le plus rapide semble utiliser tr:
tr '\n' ' ' </your/file
ou pour votre exemple:
cat `find $HOME '$1"` | tr '\n' ' '
Pour en savoir plus sur la trcommande faire, bien sûr, man tr.
Le stackoverflow anser contient des moyens de le faire avec sed (cela aurait été mon premier choix, mais sed est très orienté vers les lignes et le fait de ne pas interpréter les sauts de ligne car les délimiteurs de champ sont obscurs) et une manière utilisant read et bash, proche de votre approche initiale.
bashlineendremove