Se il file è solo in una posizione che si potrebbe provare la seguente:
cd "$(find ~/ -name [filename] -exec dirname {} \;)" && ...
È possibile utilizzare -exec
per richiamare dirname
con il percorso che trovano i rendimenti (che va dove la {}
segnaposto è). Questo cambierà le directory. È anche possibile aggiungere una doppia e commerciale (&&
) per eseguire il comando successivo dopo che la shell ha cambiato la directory.
Ad esempio:
cd "$(find ~/ -name need_to_find_this.rb -exec dirname {} \;)" && ruby need_to_find_this.rb
Si cercherà quel file rubino, passare alla directory, quindi eseguirlo dall'interno di quella cartella. Questo esempio presuppone che il nome file sia univoco e che per qualche motivo lo script ruby debba essere eseguito all'interno della sua directory. Se il nome del file non è univoco, avrai molte posizioni passate su cd, restituirà un errore quindi non cambierà le directory.
trovare e individuare :) ma non posso individuare locatedb ritrovamento ?? – Candyfloss
quindi leggi 'man 8 updatedb' – msw
Ciao zucchero filato, per favore guarda questo, ho appena postato qualcosa che vorrei riassumere come soluzione estremamente conveniente a questo problema. Si prega di controllare la mia soluzione di cdf. :-) –