J'essaye d'écrire un wrapper pour la commande supérieure et de remplacer certaines informations qu'elle me donne par des informations plus utiles. Plus spécifiquement, je veux remplacer les informations d'utilisation de la mémoire qu'il donne par les informations de la commande swap.Utilisation de SED pour substituer une ligne spécifique avec la sortie de commande
est ici le code que j'ai:
#!/usr/bin/csh
# files and directories
# /user/bin for who, cut, sort, ps, sed, cat, rm, mv, grep, echo, hostname, swap
set ubin="/usr/bin"
# tmp files and directory
set dir="/tmp"
set TopData=$dir/"Topdata"
set SwapData=$dir/"SwapData"
while (1 == 1)
swap -sh > $SwapData
$ubin/top -b |sed -e "[email protected]*@[email protected]" > $TopData
$ubin/clear
$ubin/cat $TopData
$ubin/sleep 2
end
Dans cet exemple, je tentais d'utiliser SwapData comme un fichier temporaire pour stocker les informations, mais SwapData $ donne juste le chemin du fichier et non les données de toute évidence et Je ne peux pas non plus utiliser la commande swap directement dans l'argument sed (ou toute autre commande).