Supprimer les espaces, tabulation et sauts de lignes en début et fin de ligne peut être très utiles lors de l'utilisation courante du terminal
0x01. POURQUOI PAS EN SHELL ?
Tout simplement parce que je n'ai pas réussi à exploiter une regex du genre :
cat mon_fichier|sed -r 's/^[ s]*//1;s/*[ s]$//1'
0x02. SCRIPT
#!/usr/bin/env python from sys import argv,exit,stdin # usage #------------------------------------------------------------ if( len(argv) == 2 and argv[1] == "-h" ): print "\nUsages: trim <string>" print "echo <string>|trim" print "cat <file>|trim" print "trim -f <file>\n" exit(0) # trim -f my_file.txt #---------------------------------------------- if( len(argv) == 3): if( argv[1] == "-f" ): print open(argv[2]).read().strip() # trim "my char 1 " " string 2 " ... #------------------------------- elif( len(argv) != 1 and argv[1] != "-f" ): for arg in argv[1:]: print arg print arg.strip() # cat my_file.txt|trim #--------------------------------------------- # printf " \nout \n" |trim else: buff = "" for line in stdin: buff += line ret = buff.strip() print ret
=> Écrit par : Nicolas, le 12 octobre 2017